{ "openapi" : "3.0.1", "info" : { "title" : "Triodos XS2A BG service", "description" : "Triodos XS2A BG service", "termsOfService" : "https://www.triodos.com", "contact" : { "name" : "Triodos Support", "url" : "https://www.triodos.com", "email" : "info@triodos.com" }, "license" : { "name" : "Creative Commons Attribution 4.0 International Public License", "url" : "https://creativecommons.org/licenses/by/4.0/" }, "version" : "1.1" }, "externalDocs" : { "description" : "Berlin Group XS2A Implementation Version 1.3", "url" : "https://docs.wixstatic.com/ugd/c2914b_bec5f9d0d3c94cfca2ad1b9da36dc752.pdf" }, "servers" : [ { "url" : "https://xs2a-sandbox.triodos.com/xs2a-bg", "description" : "Triodos XS2A Sandbox" } ], "tags" : [ { "name" : "Payment Initiation Service", "description" : "This service may be used by a PISP to initiate a single payment on behalf of a PSU using a given account of that PSU. The account is managed by the ASPSP providing the XS2A Interface. Functionality and restrictions of this service comply with the requirements defined by article 66 of PSD2.", "externalDocs" : { "description" : "Berlin Group XS2A Implementation Version 1.3 - Chapter 5: Payment Initiation Service", "url" : "https://docs.wixstatic.com/ugd/c2914b_bec5f9d0d3c94cfca2ad1b9da36dc752.pdf" } }, { "name" : "Account Information Service", "description" : "This service may be used by an AISP to request information about the account of a PSU. The account is managed by the ASPSP providing the XS2A Interface. Functionality and restrictions of this service comply with the requirements defined by article 67 of PSD2.", "externalDocs" : { "description" : "Berlin Group XS2A Implementation Version 1.3 - Chapter 6: Account Information Service", "url" : "https://docs.wixstatic.com/ugd/c2914b_bec5f9d0d3c94cfca2ad1b9da36dc752.pdf" } }, { "name" : "Confirmation of Funds Service", "description" : "This service may be used by a PIISP to request a confirmation of the availability of specific funds on the account of a PSU. The account is managed by the ASPSP providing the XS2A Interface. Functionality and restrictions of this service comply with the requirements defined by article 65 of PSD2.", "externalDocs" : { "description" : "Berlin Group XS2A Implementation Version 1.3 - Chapter 9: Confirmation of Funds Service", "url" : "https://docs.wixstatic.com/ugd/c2914b_bec5f9d0d3c94cfca2ad1b9da36dc752.pdf" } }, { "name" : "Initial Access Token Service" } ], "paths" : { "/{tenant}/onboarding/v1" : { "get" : { "tags" : [ "Initial Access Token Service" ], "summary" : "Get initial access token", "description" : "Validates the TPP's X.509 EIDAS certificate and returns an initial access token to continue onboarding procedure.", "operationId" : "initialAccessToken", "parameters" : [ { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } } ], "responses" : { "200" : { "description" : "Initial access token returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aInitialAccessTokenResponse" } } } }, "401" : { "description" : "TLS certificate is missing or invalid/ Provided certificate contains an invalid organizationIdentifier", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/accounts/{account-id}" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get account", "description" : "Reads details about an account, with balances where required. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token.", "operationId" : "getAccount", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "account-id", "in" : "path", "description" : "ID of account.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "withBalance", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } } ], "responses" : { "200" : { "description" : "Account returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAccountResponse" } } } }, "400" : { "description" : "ConsentID invalid/ AccountID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has no access to the given account/ Consented product is blocked", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "AccountID not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/accounts" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get accounts", "description" : "Reads a list of bank accounts, with balances where required. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token.", "operationId" : "getAccounts", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "withBalance", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } } ], "responses" : { "200" : { "description" : "Accounts returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAccountsResponse" } } } }, "400" : { "description" : "ConsentID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User does not have access to the consented accounts/ Consented products are blocked", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/accounts/{account-id}/balances" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get account balances", "description" : "Reads account data from a given account addressed by \"account-id\".", "operationId" : "getBalances", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "account-id", "in" : "path", "description" : "ID of account.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Balances returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aBalancesResponse" } } } }, "400" : { "description" : "ConsentUUID invalid/ AccountID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has no access to the given account/ Consented product is blocked/ Given consent does not provide access to balance of account", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "AccountID not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "429" : { "description" : "Too many requests - number of requests exceeds FrequencyPerDay of consent", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/accounts/{account-id}/transactions" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get account transactions", "description" : "Reads account data from a given account addressed by \"account-id\".", "operationId" : "getTransactions", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "account-id", "in" : "path", "description" : "ID of account.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "bookingStatus", "in" : "query", "description" : "Permitted codes are \"booked\", \"pending\" and \"both\", mandated if no delta access is required.", "schema" : { "type" : "string", "enum" : [ "booked", "pending", "both", "information", "all" ] } }, { "name" : "dateFrom", "in" : "query", "description" : "Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required.", "schema" : { "type" : "string", "format" : "date" } }, { "name" : "dateTo", "in" : "query", "description" : "End date (inclusive the date dateTo) of the transaction list, default is now if not given.", "schema" : { "type" : "string", "format" : "date" } }, { "name" : "withBalance", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } }, { "name" : "entryReferenceFrom", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "string" } }, { "name" : "deltaList", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } }, { "name" : "edgeToken", "in" : "query", "description" : "Pagination edge token, to be used when paging through transactions", "schema" : { "$ref" : "#/components/schemas/Xs2aTransactionSearchCriteriaEdgeToken" } } ], "responses" : { "200" : { "description" : "Transactions returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aTransactionsResponse" } } } }, "400" : { "description" : "ConsentID invalid/ AccountID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has no access to the given account/ Consented product is blocked/ Given consent does not provide access to transactions of account", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "AccountID not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "429" : { "description" : "Too many requests - number of requests exceeds FrequencyPerDay of consent", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/accounts/{account-id}/transactions/page" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Paginate account transactions (deprecated, pass edge token to transactions endpoint instead)", "description" : "Reads account data from a given account addressed by \"account-id\".", "operationId" : "getTransactionsPage", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "account-id", "in" : "path", "description" : "ID of account.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "edgeToken", "in" : "query", "description" : "Pagination edge token.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Transactions returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aTransactionsResponse" } } } }, "400" : { "description" : "ConsentID invalid/ AccountID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has no access to the given account/ Consented product is blocked/ Given consent does not provide access to transactions of account", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "AccountID not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "429" : { "description" : "Too many requests - number of requests exceeds FrequencyPerDay of consent", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } }, "deprecated" : true } }, "/{tenant}/v1/bulk-payments/sepa-credit-transfers/{resource-id}/authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getAuthorisations", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create authorisation", "description" : "Creates a payment authorisation sub-resource.", "operationId" : "createAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/bulk-payments/sepa-credit-transfers/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Submit payment authorisation", "description" : "Submits an access token to authorise a payment initiation.", "operationId" : "submitAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "Authorization", "in" : "header", "description" : "OAuth2 access token.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment SCA status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/bulk-payments/sepa-credit-transfers/{resource-id}/cancellation-authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisations", "description" : "Will deliver an array of resource ids of all generated cancellation authorisation sub-resources.", "operationId" : "getCancellationAuthorisations", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to get cancellation authorisations for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create cancellation authorisation", "description" : "Creates a payment cancellation authorisation sub-resource.", "operationId" : "createCancellationAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create cancellation authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment cancellation authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/bulk-payments/sepa-credit-transfers/{resource-id}/cancellation-authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisation status", "description" : "Checks the SCA status of a cancellation authorisation sub-resource.", "operationId" : "getCancellationAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Update payment cancellation authorisation with access token", "description" : "Updates the payment cancellation data on the server by PSU data, if requested by the ASPSP. Also cancels the payment if sufficient privileges are present.", "operationId" : "submitCancellationAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to cancel", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment submitted", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid/ Payment status is invalid/ Payment failed", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has insufficient rights to authorize the payment/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP/ Given currency is not supported for given payment product/ Given IBAN belongs to product with unsupported producttype/ Given IBAN belongs to product that is blocked or inactive", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/bulk-payments/sepa-credit-transfers/{resource-id}" : { "delete" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Cancel payment", "description" : "If the payment is not authorized yet, the payment request is directly cancelled. Otherwise a cancellation authorization sub-resource is created.", "operationId" : "deletePayment", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment cancelled", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "202" : { "description" : "Cancellation authorization sub-resource created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/bulk-payments/sepa-credit-transfers/{resource-id}/status" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get payment status", "description" : "Can check the status of a payment initiation.", "operationId" : "getStatus", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aStatusRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/bulk-payments/sepa-credit-transfers" : { "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Initiate Sepa Bulk Payment", "description" : "Creates a Sepa bulk payment initiation request and corresponding authorisation sub-resource.", "operationId" : "initiateSepaBulkPayment", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "Must be empty, sessions are not supported.", "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "description" : "The certificate used for signing the request, in base64 encoding.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "PAIN.001.001.03 or PAIN.001.001.09 formatted bulk payment request.", "content" : { "text/xml" : { "schema" : { "type" : "string" } }, "application/xml" : { "schema" : { "type" : "string" } } }, "required" : true }, "responses" : { "201" : { "description" : "Payment initiated", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "Missing or invalid body (e.g. invalid IBAN)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "The addressed payment product is not available for the PSU", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "No product found for given IBAN", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/funds-confirmations" : { "post" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Confirmation of funds", "description" : "Creates a confirmation of funds request at the ASPSP.", "operationId" : "confirmFundsAvailable", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "requestBody" : { "description" : "Confirmation of funds request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConfirmationOfFundsRequest" } } }, "required" : true }, "responses" : { "200" : { "description" : "Confirmation of funds returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConfirmationOfFundsResponse" } } } }, "400" : { "description" : "Missing or invalid body (e.g. invalid IBAN)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "User has no access to the given account/ given IBAN belongs to a savings account/ given currency does not correspond to currency of account", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "IBAN not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/consents/{resource-id}/authorisations" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getAisAuthorisations", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Account Information Service" ], "summary" : "Create authorisation", "description" : "Creates a consent authorisation sub-resource.", "operationId" : "createAisAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Consent authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/consents/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getAisAuthorisationStatus", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Account Information Service" ], "summary" : "Update consent authorisation with access token", "description" : "Updates the account information consent authorisation with an access token. If the access token has sufficient privileges, the consent will be authorized", "operationId" : "submitAisAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Consent authorized", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "ConsentID is invalid/ consent status is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User does not have access to all products requested for consent/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/consents/{resource-id}" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get consent", "description" : "Returns the content of an account information consent object. This is returning the data for the TPP especially in cases, where the consent was directly managed between ASPSP and PSU e.g. in a re-direct SCA Approach.", "operationId" : "getAisConsent", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Consent returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConsentRequestResponse" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "delete" : { "tags" : [ "Account Information Service" ], "summary" : "Delete consent", "description" : "Deletes a given consent.", "operationId" : "deleteAisConsent", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "Consent deleted" }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/consents/{resource-id}/status" : { "get" : { "tags" : [ "Account Information Service" ], "summary" : "Get consent status", "description" : "Check the status of an account information consent resource.", "operationId" : "getAisConsentStatus", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Consent status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConsentStatusResponse" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/consents" : { "post" : { "tags" : [ "Account Information Service" ], "summary" : "Register consent", "description" : "Creates an account information consent resource at the ASPSP regarding access to accounts specified in this request.", "operationId" : "registerConsentRequest", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Consent request.", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConsentRequest" } } }, "required" : true }, "responses" : { "201" : { "description" : "Consent registered", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConsentRequestResponse" } } } }, "400" : { "description" : "Missing or invalid body (e.g. FrequencyPerDay > 4)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/cross-border-credit-transfers/{resource-id}/authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getAuthorisations_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create authorisation", "description" : "Creates a payment authorisation sub-resource.", "operationId" : "createAuthorisation_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/cross-border-credit-transfers/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getAuthorisation_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Submit payment authorisation", "description" : "Submits an access token to authorise a payment initiation.", "operationId" : "submitAuthorisation_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "Authorization", "in" : "header", "description" : "OAuth2 access token.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment SCA status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/cross-border-credit-transfers/{resource-id}/cancellation-authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisations", "description" : "Will deliver an array of resource ids of all generated cancellation authorisation sub-resources.", "operationId" : "getCancellationAuthorisations_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to get cancellation authorisations for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create cancellation authorisation", "description" : "Creates a payment cancellation authorisation sub-resource.", "operationId" : "createCancellationAuthorisation_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create cancellation authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment cancellation authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/cross-border-credit-transfers/{resource-id}/cancellation-authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisation status", "description" : "Checks the SCA status of a cancellation authorisation sub-resource.", "operationId" : "getCancellationAuthorisation_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Update payment cancellation authorisation with access token", "description" : "Updates the payment cancellation data on the server by PSU data, if requested by the ASPSP. Also cancels the payment if sufficient privileges are present.", "operationId" : "submitCancellationAuthorisation_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to cancel", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment submitted", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid/ Payment status is invalid/ Payment failed", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has insufficient rights to authorize the payment/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP/ Given currency is not supported for given payment product/ Given IBAN belongs to product with unsupported producttype/ Given IBAN belongs to product that is blocked or inactive", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/cross-border-credit-transfers/{resource-id}" : { "delete" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Cancel payment", "description" : "If the payment is not authorized yet, the payment request is directly cancelled. Otherwise a cancellation authorization sub-resource is created.", "operationId" : "deletePayment_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment cancelled", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "202" : { "description" : "Cancellation authorization sub-resource created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/cross-border-credit-transfers/{resource-id}/status" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get payment status", "description" : "Can check the status of a payment initiation.", "operationId" : "getStatus_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aStatusRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/cross-border-credit-transfers" : { "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Initiate Cross Border payment", "description" : "Creates a Cross Border payment initiation request and corresponding authorisation sub-resource.", "operationId" : "initiateCrossBorderPayment", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "Must be empty, sessions are not supported.", "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "description" : "The certificate used for signing the request, in base64 encoding.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Payment request.", "content" : { "*/*" : { "schema" : { "type" : "string", "format" : "uuid" } } }, "required" : true }, "responses" : { "501" : { "description" : "Cross border non-SEPA payments are not supported.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/sepa-credit-transfers/{resource-id}/authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getAuthorisations_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create authorisation", "description" : "Creates a payment authorisation sub-resource.", "operationId" : "createAuthorisation_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/sepa-credit-transfers/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getAuthorisation_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Submit payment authorisation", "description" : "Submits an access token to authorise a payment initiation.", "operationId" : "submitAuthorisation_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "Authorization", "in" : "header", "description" : "OAuth2 access token.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment SCA status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/sepa-credit-transfers/{resource-id}/cancellation-authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisations", "description" : "Will deliver an array of resource ids of all generated cancellation authorisation sub-resources.", "operationId" : "getCancellationAuthorisations_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to get cancellation authorisations for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create cancellation authorisation", "description" : "Creates a payment cancellation authorisation sub-resource.", "operationId" : "createCancellationAuthorisation_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create cancellation authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment cancellation authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/sepa-credit-transfers/{resource-id}/cancellation-authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisation status", "description" : "Checks the SCA status of a cancellation authorisation sub-resource.", "operationId" : "getCancellationAuthorisation_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Update payment cancellation authorisation with access token", "description" : "Updates the payment cancellation data on the server by PSU data, if requested by the ASPSP. Also cancels the payment if sufficient privileges are present.", "operationId" : "submitCancellationAuthorisation_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to cancel", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment submitted", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid/ Payment status is invalid/ Payment failed", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has insufficient rights to authorize the payment/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP/ Given currency is not supported for given payment product/ Given IBAN belongs to product with unsupported producttype/ Given IBAN belongs to product that is blocked or inactive", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/sepa-credit-transfers/{resource-id}" : { "delete" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Cancel payment", "description" : "If the payment is not authorized yet, the payment request is directly cancelled. Otherwise a cancellation authorization sub-resource is created.", "operationId" : "deletePayment_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment cancelled", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "202" : { "description" : "Cancellation authorization sub-resource created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/sepa-credit-transfers/{resource-id}/status" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get payment status", "description" : "Can check the status of a payment initiation.", "operationId" : "getStatus_2", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aStatusRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/sepa-credit-transfers" : { "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Initiate Sepa payment", "description" : "Creates a Sepa payment initiation request and corresponding authorisation sub-resource.", "operationId" : "initiateSepaPayment", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "Must be empty, sessions are not supported.", "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "description" : "The certificate used for signing the request, in base64 encoding.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Payment request.", "content" : { "*/*" : { "schema" : { "type" : "string", "format" : "uuid" } } }, "required" : true }, "responses" : { "201" : { "description" : "Payment initiated", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "Missing or invalid body (e.g. invalid IBAN)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "The addressed payment product is not available for the PSU", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "No product found for given IBAN", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/uk-domestic-transfers/{resource-id}/authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getAuthorisations_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create authorisation", "description" : "Creates a payment authorisation sub-resource.", "operationId" : "createAuthorisation_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/uk-domestic-transfers/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getAuthorisation_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Submit payment authorisation", "description" : "Submits an access token to authorise a payment initiation.", "operationId" : "submitAuthorisation_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "Authorization", "in" : "header", "description" : "OAuth2 access token.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment SCA status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/uk-domestic-transfers/{resource-id}/cancellation-authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisations", "description" : "Will deliver an array of resource ids of all generated cancellation authorisation sub-resources.", "operationId" : "getCancellationAuthorisations_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to get cancellation authorisations for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create cancellation authorisation", "description" : "Creates a payment cancellation authorisation sub-resource.", "operationId" : "createCancellationAuthorisation_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create cancellation authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment cancellation authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/uk-domestic-transfers/{resource-id}/cancellation-authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisation status", "description" : "Checks the SCA status of a cancellation authorisation sub-resource.", "operationId" : "getCancellationAuthorisation_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Update payment cancellation authorisation with access token", "description" : "Updates the payment cancellation data on the server by PSU data, if requested by the ASPSP. Also cancels the payment if sufficient privileges are present.", "operationId" : "submitCancellationAuthorisation_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to cancel", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment submitted", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid/ Payment status is invalid/ Payment failed", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has insufficient rights to authorize the payment/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP/ Given currency is not supported for given payment product/ Given IBAN belongs to product with unsupported producttype/ Given IBAN belongs to product that is blocked or inactive", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/uk-domestic-transfers/{resource-id}" : { "delete" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Cancel payment", "description" : "If the payment is not authorized yet, the payment request is directly cancelled. Otherwise a cancellation authorization sub-resource is created.", "operationId" : "deletePayment_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment cancelled", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "202" : { "description" : "Cancellation authorization sub-resource created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/uk-domestic-transfers/{resource-id}/status" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get payment status", "description" : "Can check the status of a payment initiation.", "operationId" : "getStatus_3", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aStatusRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/payments/uk-domestic-transfers" : { "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Initiate UK Domestic payment", "description" : "Creates a UK Domestic payment initiation request and corresponding authorisation sub-resource.", "operationId" : "initiateUkDomesticPayment", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "Must be empty, sessions are not supported.", "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "description" : "The certificate used for signing the request, in base64 encoding.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Payment request.", "content" : { "*/*" : { "schema" : { "type" : "string", "format" : "uuid" } } }, "required" : true }, "responses" : { "201" : { "description" : "Payment initiated", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "Missing or invalid body (e.g. invalid IBAN)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "The addressed payment product is not available for the PSU", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "No product found for given IBAN", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/sepa-credit-transfers/{resource-id}/authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getAuthorisations_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create authorisation", "description" : "Creates a payment authorisation sub-resource.", "operationId" : "createAuthorisation_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/sepa-credit-transfers/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getAuthorisation_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Submit payment authorisation", "description" : "Submits an access token to authorise a payment initiation.", "operationId" : "submitAuthorisation_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "Authorization", "in" : "header", "description" : "OAuth2 access token.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment SCA status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/sepa-credit-transfers/{resource-id}/cancellation-authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisations", "description" : "Will deliver an array of resource ids of all generated cancellation authorisation sub-resources.", "operationId" : "getCancellationAuthorisations_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to get cancellation authorisations for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create cancellation authorisation", "description" : "Creates a payment cancellation authorisation sub-resource.", "operationId" : "createCancellationAuthorisation_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create cancellation authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment cancellation authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/sepa-credit-transfers/{resource-id}/cancellation-authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisation status", "description" : "Checks the SCA status of a cancellation authorisation sub-resource.", "operationId" : "getCancellationAuthorisation_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Update payment cancellation authorisation with access token", "description" : "Updates the payment cancellation data on the server by PSU data, if requested by the ASPSP. Also cancels the payment if sufficient privileges are present.", "operationId" : "submitCancellationAuthorisation_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to cancel", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment submitted", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid/ Payment status is invalid/ Payment failed", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has insufficient rights to authorize the payment/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP/ Given currency is not supported for given payment product/ Given IBAN belongs to product with unsupported producttype/ Given IBAN belongs to product that is blocked or inactive", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/sepa-credit-transfers/{resource-id}" : { "delete" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Cancel payment", "description" : "If the payment is not authorized yet, the payment request is directly cancelled. Otherwise a cancellation authorization sub-resource is created.", "operationId" : "deletePayment_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment cancelled", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "202" : { "description" : "Cancellation authorization sub-resource created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/sepa-credit-transfers/{resource-id}/status" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get payment status", "description" : "Can check the status of a payment initiation.", "operationId" : "getStatus_4", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aStatusRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/sepa-credit-transfers" : { "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Initiate Sepa Periodic Payment", "description" : "Creates a Sepa periodic payment initiation request and corresponding authorisation sub-resource.", "operationId" : "initiateSepaPeriodicPayment", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "Must be empty, sessions are not supported.", "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "description" : "The certificate used for signing the request, in base64 encoding.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Periodic payment request.", "content" : { "*/*" : { "schema" : { "type" : "string", "format" : "uuid" } } }, "required" : true }, "responses" : { "201" : { "description" : "Payment initiated", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "Missing or invalid body (e.g. invalid IBAN)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "The addressed payment product is not available for the PSU", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "No product found for given IBAN", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/uk-domestic-transfers/{resource-id}/authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getAuthorisations_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create authorisation", "description" : "Creates a payment authorisation sub-resource.", "operationId" : "createAuthorisation_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/uk-domestic-transfers/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getAuthorisation_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Submit payment authorisation", "description" : "Submits an access token to authorise a payment initiation.", "operationId" : "submitAuthorisation_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "Authorization", "in" : "header", "description" : "OAuth2 access token.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment SCA status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/uk-domestic-transfers/{resource-id}/cancellation-authorisations" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisations", "description" : "Will deliver an array of resource ids of all generated cancellation authorisation sub-resources.", "operationId" : "getCancellationAuthorisations_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to get cancellation authorisations for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Create cancellation authorisation", "description" : "Creates a payment cancellation authorisation sub-resource.", "operationId" : "createCancellationAuthorisation_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to create cancellation authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Payment cancellation authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/uk-domestic-transfers/{resource-id}/cancellation-authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get cancellation authorisation status", "description" : "Checks the SCA status of a cancellation authorisation sub-resource.", "operationId" : "getCancellationAuthorisation_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Cancellation authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Update payment cancellation authorisation with access token", "description" : "Updates the payment cancellation data on the server by PSU data, if requested by the ASPSP. Also cancels the payment if sufficient privileges are present.", "operationId" : "submitCancellationAuthorisation_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment to cancel", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the cancellation authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment submitted", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid/ Payment status is invalid/ Payment failed", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has insufficient rights to authorize the payment/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP/ Given currency is not supported for given payment product/ Given IBAN belongs to product with unsupported producttype/ Given IBAN belongs to product that is blocked or inactive", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/uk-domestic-transfers/{resource-id}" : { "delete" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Cancel payment", "description" : "If the payment is not authorized yet, the payment request is directly cancelled. Otherwise a cancellation authorization sub-resource is created.", "operationId" : "deletePayment_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Payment cancelled", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "202" : { "description" : "Cancellation authorization sub-resource created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/uk-domestic-transfers/{resource-id}/status" : { "get" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Get payment status", "description" : "Can check the status of a payment initiation.", "operationId" : "getStatus_5", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the payment.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Payment status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aStatusRequestResponse" } } } }, "400" : { "description" : "PaymentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "PaymentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v1/periodic-payments/uk-domestic-transfers" : { "post" : { "tags" : [ "Payment Initiation Service" ], "summary" : "Initiate UK Domestic Periodic Payment", "description" : "Creates a UK Domestic periodic payment initiation request and corresponding authorisation sub-resource.", "operationId" : "initiateUkDomesticPeriodicPayment", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "Must be empty, sessions are not supported.", "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "description" : "The certificate used for signing the request, in base64 encoding.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Periodic payment request.", "content" : { "*/*" : { "schema" : { "type" : "string", "format" : "uuid" } } }, "required" : true }, "responses" : { "201" : { "description" : "Payment initiated", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponse" } } } }, "400" : { "description" : "Missing or invalid body (e.g. invalid IBAN)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "The addressed payment product is not available for the PSU", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "No product found for given IBAN", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/consents/confirmation-of-funds/{resource-id}/authorisations" : { "get" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Get authorisations", "description" : "Will deliver an array of resource ids of all generated authorisation sub-resources.", "operationId" : "getPiisAuthorisations", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisations returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationsRequestResponse" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "post" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Create authorisation", "description" : "Creates a consent authorisation sub-resource.", "operationId" : "createPiisAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent to create authorisation sub-resource for.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "201" : { "description" : "Consent authorisation created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/consents/confirmation-of-funds/{resource-id}/authorisations/{authorisation-id}" : { "get" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Get authorisation status", "description" : "Checks the SCA status of an authorisation sub-resource.", "operationId" : "getPiisAuthorisationStatus", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Authorisation status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationStatusRequestResponse" } } } }, "400" : { "description" : "AuthorisationID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "put" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Update consent authorisation with access token", "description" : "Updates the confirmation of funds consent authorisation with an access token. If the access token has sufficient privileges, the consent will be authorized", "operationId" : "submitPiisAuthorisation", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "authorisation-id", "in" : "path", "description" : "ID of the authorisation sub-resource", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Consent authorized", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponse" } } } }, "400" : { "description" : "ConsentID is invalid/ consent status is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User does not have access to all products requested for consent/ Authorization timed out", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/consents/confirmation-of-funds/{resource-id}" : { "get" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Get consent", "description" : "Returns the content of a confirmation of funds consent object. This is returning the data for the TPP especially in cases, where the consent was directly managed between ASPSP and PSU e.g. in a re-direct SCA Approach.", "operationId" : "getPiisConsent", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Consent returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConfirmationOfFundsConsentRequest" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } }, "delete" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Delete consent", "description" : "Deletes a given consent.", "operationId" : "deletePiisConsent", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "Consent deleted" }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/consents/confirmation-of-funds/{resource-id}/status" : { "get" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Get consent status", "description" : "Check the status of a confirmation of funds consent resource.", "operationId" : "getPiisConsentStatus", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "resource-id", "in" : "path", "description" : "ID of the consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Consent status returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConsentStatusResponse" } } } }, "400" : { "description" : "ConsentID is invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/consents/confirmation-of-funds" : { "post" : { "tags" : [ "Confirmation of Funds Service" ], "summary" : "Register consent", "description" : "Creates a confirmation of funds consent resource at the ASPSP regarding access to accounts specified in this request.", "operationId" : "registerConsentRequest_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Redirect-URI", "in" : "header", "description" : "URI of the TPP, where the transaction flow shall be redirected to after a Redirect.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "TPP-Signature-Certificate", "in" : "header", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Consent request.", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConfirmationOfFundsConsentRequest" } } }, "required" : true }, "responses" : { "201" : { "description" : "Consent registered", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aConfirmationOfFundsConsentRequest" } } } }, "400" : { "description" : "Missing or invalid body (e.g. FrequencyPerDay > 4)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/savings/{account-id}" : { "get" : { "tags" : [ "Extended Account Information Service" ], "summary" : "Read Savings Account Details", "description" : " Reads details about a savings account, with balances where required.\n It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system.\n The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token.\n", "operationId" : "getAccount_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "account-id", "in" : "path", "description" : "ID of account.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "withBalance", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } } ], "responses" : { "200" : { "description" : "Savings Account returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAccountResponse" } } } }, "400" : { "description" : "ConsentID invalid/ AccountID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has no access to the given account/ Consented product is blocked", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, not registered for this TPP, wrong product Type", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "AccountID not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/savings" : { "get" : { "tags" : [ "Extended Account Information Service" ], "summary" : "Get accounts", "description" : "Reads a list of savings accounts, with balances where required. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token.", "operationId" : "getAccounts_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "withBalance", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } } ], "responses" : { "200" : { "description" : "Savings Accounts returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aAccountsResponse" } } } }, "400" : { "description" : "ConsentID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User does not have access to the consented accounts/ Consented products are blocked", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/savings/{account-id}/balances" : { "get" : { "tags" : [ "Extended Account Information Service" ], "summary" : "Get savings account balances", "description" : "Reads savings account data from a given savings account addressed by \"account-id\".", "operationId" : "getBalances_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "account-id", "in" : "path", "description" : "ID of account.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Balances returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aBalancesResponse" } } } }, "400" : { "description" : "ConsentUUID invalid/ AccountID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has no access to the given account/ Consented product is blocked/ Given consent does not provide access to balance of account", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "AccountID not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "429" : { "description" : "Too many requests - number of requests exceeds FrequencyPerDay of consent", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } }, "/{tenant}/v2/savings/{account-id}/transactions" : { "get" : { "tags" : [ "Extended Account Information Service" ], "summary" : "Get savings account transactions", "description" : "Reads savings account data from a given saving account addressed by \"account-id\".", "operationId" : "getTransactions_1", "parameters" : [ { "name" : "X-Request-ID", "in" : "header", "description" : "ID of the request, unique to the call, as determined by the initiating party.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "tenant", "in" : "path", "description" : "Branch of the request.", "required" : true, "schema" : { "type" : "string", "enum" : [ "uk", "nl", "be_fr", "be_nl" ] } }, { "name" : "Signature", "in" : "header", "description" : "A signature of the request by the TPP on application level.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "Digest", "in" : "header", "description" : "Digest contains a Hash of the message body, used for authentication of the request. The only hash algorithms that may be used to calculate the Digest within the context of this specification are SHA-256 and SHA-512.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "PSU-IP-Address", "in" : "header", "description" : "IP Address of the PSU if involved in the request.", "schema" : { "type" : "string" } }, { "name" : "Consent-ID", "in" : "header", "description" : "ID of registered and authorized consent.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "account-id", "in" : "path", "description" : "ID of account.", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "bookingStatus", "in" : "query", "description" : "Permitted codes are \"booked\", \"pending\" and \"both\", mandated if no delta access is required.", "schema" : { "type" : "string", "enum" : [ "booked", "pending", "both", "information", "all" ] } }, { "name" : "dateFrom", "in" : "query", "description" : "Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required.", "schema" : { "type" : "string", "format" : "date" } }, { "name" : "dateTo", "in" : "query", "description" : "End date (inclusive the date dateTo) of the transaction list, default is now if not given.", "schema" : { "type" : "string", "format" : "date" } }, { "name" : "withBalance", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } }, { "name" : "entryReferenceFrom", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "string" } }, { "name" : "deltaList", "in" : "query", "description" : "Not supported, should be unset", "schema" : { "type" : "boolean" } }, { "name" : "edgeToken", "in" : "query", "description" : "Pagination edge token, to be used when paging through transactions", "schema" : { "$ref" : "#/components/schemas/Xs2aTransactionSearchCriteriaEdgeToken" } } ], "responses" : { "200" : { "description" : "Transactions returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Xs2aTransactionsResponse" } } } }, "400" : { "description" : "ConsentID invalid/ AccountID invalid", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "401" : { "description" : "Invalid scope/ Invalid consent/ Given access token is not coupled to the given consent/ User has no access to the given account/ Consented product is blocked/ Given consent does not provide access to transactions of account", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "403" : { "description" : "ConsentID not found, or not registered for this TPP", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "404" : { "description" : "AccountID not found", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } }, "429" : { "description" : "Too many requests - number of requests exceeds FrequencyPerDay of consent", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TppMessages" } } } } } } } }, "components" : { "schemas" : { "Xs2aInitialAccessTokenLinks" : { "type" : "object", "properties" : { "registration" : { "type" : "string", "description" : "Link to the TPP registration service." } } }, "Xs2aInitialAccessTokenResponse" : { "type" : "object", "properties" : { "scope" : { "type" : "string", "description" : "OAuth2 scope." }, "access_token" : { "type" : "string", "description" : "OAuth2 access token." }, "expires_in" : { "type" : "integer", "description" : "Token expiry in seconds.", "format" : "int64" }, "token_type" : { "type" : "string", "description" : "OAuth2 token type." }, "_links" : { "$ref" : "#/components/schemas/Xs2aInitialAccessTokenLinks" } } }, "TppMessage" : { "type" : "object", "properties" : { "text" : { "type" : "string", "description" : "Additional explaining text." }, "code" : { "type" : "string", "description" : "Message code.", "enum" : [ "CERTIFICATE_INVALID", "CERTIFICATE_EXPIRED", "CERTIFICATE_BLOCKED", "CERTIFICATE_REVOKED", "CERTIFICATE_MISSING", "SIGNATURE_INVALID", "SIGNATURE_MISSING", "ROLE_INVALID", "FORMAT_ERROR", "PARAMETER_NOT_CONSISTENT", "PARAMETER_NOT_SUPPORTED", "PSU_CREDENTIALS_INVALID", "SERVICE_INVALID", "SERVICE_BLOCKED", "CORPORATE_ID_INVALID", "CONSENT_UNKNOWN", "CONSENT_INVALID", "CONSENT_EXPIRED", "TOKEN_UNKNOWN", "TOKEN_INVALID", "TOKEN_EXPIRED", "RESOURCE_UNKNOWN", "RESOURCE_EXPIRED", "RESOURCE_BLOCKED", "TIMESTAMP_INVALID", "PERIOD_INVALID", "SCA_METHOD_UNKNOWN", "SCA_INVALID", "STATUS_INVALID", "PRODUCT_INVALID", "PRODUCT_UNKNOWN", "PAYMENT_FAILED", "REQUIRED_KID_MISSING", "EXECUTION_DATE_INVALID", "CANCELLATION_INVALID", "BENEFICIARY_WHITELISTING_REQUIRED", "FUNDS_NOT_AVAILABLE", "CONTENT_INVALID", "SESSIONS_NOT_SUPPORTED", "ACCESS_EXCEEDED", "REQUESTED_FORMATS_INVALID", "CARD_INVALID", "NO_PIIS_ACTIVATION", "REFERENCE_MIX_INVALID", "REFERENCE_STATUS_INVALID" ] }, "category" : { "type" : "string" } }, "description" : "List of messages." }, "TppMessages" : { "type" : "object", "properties" : { "tppMessages" : { "type" : "array", "description" : "List of messages.", "items" : { "$ref" : "#/components/schemas/TppMessage" } } } }, "Xs2aAccount" : { "type" : "object", "properties" : { "iban" : { "type" : "string", "description" : "The iban is used in the body of the Consent or Payment Request Message for retrieving account access consent or initiating a payment for this payment account, cp. Section 6.3. If an iban is provided then ukSortCode and ukAccountNumber should be left empty." }, "foreignAccountNumber" : { "type" : "string", "description" : "The foreignAccountNumber is used in the body of the cross-border-credit-transfers Payment Request Message for creditor account, If a foreignAccountNumber is provided then iban, ukSortCode and ukAccountNumber should be left empty." }, "ukSortCode" : { "type" : "string", "description" : "The ukSortCode and ukAccountNumber are used in the body of the Consent or Payment Request Message for retrieving account access consent or initiating a payment for this payment account, cp. Section 6.3. If ukSortCode and ukAccountNumber are provided then iban should be left empty." }, "ukAccountNumber" : { "type" : "string" }, "currency" : { "type" : "string", "description" : "Account currency" }, "resourceId" : { "type" : "string", "description" : "This is the data element to be used in the path when retrieving data from a dedicated account, cp. Section 6.6.3 or Section 6.6.4 below. This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint." }, "cashAccountType" : { "type" : "string", "description" : "ExternalCashAccountType1Code from ISO 20022", "enum" : [ "CACC", "CASH", "CHAR", "CISH", "COMM", "CPAC", "LLSV", "LOAN", "MGLD", "MOMA", "NREX", "ODFT", "ONDP", "OTHR", "SACC", "SLRY", "SVGS", "TAXE", "TRAN", "TRAS" ] }, "name" : { "type" : "string", "description" : "Name of the account given by the bank or the PSU in Online-Banking" }, "status" : { "type" : "string", "description" : "Status of the account, will be equal to one of the following: [enabled, deleted, blocked]", "enum" : [ "enabled", "deleted", "blocked" ] }, "_links" : { "$ref" : "#/components/schemas/Xs2aAccountLinks" } } }, "Xs2aAccountLinks" : { "type" : "object", "properties" : { "account" : { "type" : "string", "description" : "A link to the resource providing the details of a dedicated account." }, "transactions" : { "type" : "string", "description" : "A link to the resource providing the transaction history of a dedicated account." }, "balances" : { "type" : "string", "description" : "A link to the resource providing the balance of a dedicated account." } }, "description" : "Links to the account, which can be directly used for retrieving account information from this dedicated account. Links to \"balances\" and/or \"transactions\" These links are only supported, when the corresponding consent has been already granted." }, "Xs2aAccountResponse" : { "required" : [ "account" ], "type" : "object", "properties" : { "account" : { "$ref" : "#/components/schemas/Xs2aAccount" } } }, "Xs2aAccountsResponse" : { "required" : [ "accounts" ], "type" : "object", "properties" : { "accounts" : { "type" : "array", "description" : "List of account data.", "items" : { "$ref" : "#/components/schemas/Xs2aAccount" } } } }, "Xs2aAmount" : { "required" : [ "amount", "currency" ], "type" : "object", "properties" : { "currency" : { "type" : "string", "description" : "ISO 4217 Alpha 3 currency code" }, "amount" : { "type" : "number", "description" : "The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.", "format" : "double" } }, "description" : "The amount of the transaction as billed to the account." }, "Xs2aBalance" : { "required" : [ "balanceAmount", "balanceType" ], "type" : "object", "properties" : { "balanceType" : { "type" : "string", "description" : "Balance type.", "enum" : [ "closingBooked", "expected", "openingBooked", "interimAvailable", "forwardAvailable" ] }, "balanceAmount" : { "$ref" : "#/components/schemas/Xs2aAmount" }, "referenceDate" : { "type" : "string", "description" : "Reference date of the balance.", "format" : "date" }, "creditLimitIncluded" : { "type" : "boolean", "description" : "A flag indicating if the credit limit of the corresponding account is included in the calculation of the balance, where applicable" } }, "description" : "List of balances for the account." }, "Xs2aBalancesResponse" : { "required" : [ "account", "balances" ], "type" : "object", "properties" : { "account" : { "$ref" : "#/components/schemas/Xs2aAccount" }, "balances" : { "type" : "array", "description" : "List of balances for the account.", "items" : { "$ref" : "#/components/schemas/Xs2aBalance" } } } }, "Xs2aTransaction" : { "required" : [ "transactionAmount" ], "type" : "object", "properties" : { "transactionId" : { "type" : "string", "description" : "Can be used as access-ID in the API, where more details on an transaction is offered. If this data attribute is provided this shows that the AIS can get access on more details about this transaction using the GET Transaction Details Request as defined in Section 6.6.5." }, "bookingDate" : { "type" : "string", "description" : "The Date when an entry is posted to an account on the ASPSPs books." }, "valueDate" : { "type" : "string", "description" : "The Date at which assets become available to the account owner in case of a credit." }, "transactionAmount" : { "$ref" : "#/components/schemas/Xs2aAmount" }, "creditorName" : { "type" : "string", "description" : "Name of the debtor if a \"Credited\" transaction." }, "creditorAccount" : { "$ref" : "#/components/schemas/Xs2aAccount" }, "ultimateCreditor" : { "type" : "string" }, "debtorName" : { "type" : "string", "description" : "Name of the creditor if a \"Debited\" transaction." }, "debtorAccount" : { "$ref" : "#/components/schemas/Xs2aAccount" }, "ultimateDebtor" : { "type" : "string" }, "remittanceInformationUnstructured" : { "type" : "string" }, "proprietaryBankTransactionCode" : { "type" : "string", "description" : "Proprietary bank transaction code as used within a community or within an ASPSP." }, "endToEndIdentification" : { "type" : "string", "description" : "endToEndIdentification of the transaction." }, "returnInformationCode" : { "type" : "string", "description" : "ReasonCode in case of R-message" }, "batchIndicator" : { "type" : "boolean" }, "batchNumberOfTransactions" : { "type" : "integer", "format" : "int32" } }, "description" : "List of pending transactions." }, "Xs2aTransactionLinks" : { "required" : [ "account" ], "type" : "object", "properties" : { "account" : { "type" : "string", "description" : "A link to the resource providing the details of one account." }, "first" : { "type" : "string", "description" : "Navigation link for paginated account reports." }, "next" : { "type" : "string", "description" : "Navigation link for paginated account reports." } }, "description" : "Transaction links." }, "Xs2aTransactions" : { "required" : [ "booked" ], "type" : "object", "properties" : { "booked" : { "type" : "array", "description" : "List of booked transactions.", "items" : { "$ref" : "#/components/schemas/Xs2aTransaction" } }, "pending" : { "type" : "array", "description" : "List of pending transactions.", "items" : { "$ref" : "#/components/schemas/Xs2aTransaction" } }, "_links" : { "$ref" : "#/components/schemas/Xs2aTransactionLinks" } }, "description" : "List of transaction data." }, "Xs2aTransactionsResponse" : { "required" : [ "account", "transactions" ], "type" : "object", "properties" : { "account" : { "$ref" : "#/components/schemas/Xs2aAccount" }, "transactions" : { "$ref" : "#/components/schemas/Xs2aTransactions" } } }, "ID" : { "type" : "object", "properties" : { "temporaryKey" : { "type" : "boolean" } } }, "Xs2aTransactionSearchCriteriaEdgeToken" : { "type" : "object", "properties" : { "edgeTokenTransactionTimestamp" : { "type" : "string", "format" : "date-time" }, "edgeTokenTransactionID" : { "$ref" : "#/components/schemas/ID" }, "bookingStatus" : { "type" : "string", "enum" : [ "booked", "pending", "both", "information", "all" ] }, "dateFrom" : { "type" : "string", "format" : "date" }, "dateTo" : { "type" : "string", "format" : "date" } } }, "Xs2aAuthorisationRequestResponse" : { "type" : "object", "properties" : { "scaStatus" : { "type" : "string", "description" : "This data element is containing information about the status of the SCA method applied.", "enum" : [ "received", "psuIdentified", "psuAuthenticated", "scaMethodSelected", "started", "unconfirmed", "finalised", "failed", "exempted" ] }, "psuMessage" : { "type" : "string", "description" : "Text to be displayed to the PSU." }, "authorisationId" : { "type" : "string", "description" : "Resource identification of the authorisation sub-resource." }, "_links" : { "$ref" : "#/components/schemas/Xs2aAuthorisationRequestResponseLinks" } } }, "Xs2aAuthorisationRequestResponseLinks" : { "type" : "object", "properties" : { "scaOAuth" : { "type" : "string", "description" : "A link to the OAuth2 configuration of the ASPSP's authorisation server." }, "scaRedirect" : { "type" : "string", "description" : "A link to the OAuth2 authorization resource." }, "scaStatus" : { "type" : "string", "description" : "A link to the authorisation sub-resource. In practice this is the same as the confirmation link." }, "self" : { "type" : "string", "description" : "The link to the resource created by the undergoing request. This link can be used to retrieve the resource data." }, "confirmation" : { "type" : "string", "description" : "The link to the authorisation sub-resource." }, "status" : { "type" : "string", "description" : "The link to retrieve the transaction status of a resource." } } }, "Xs2aAuthorisationStatusRequestResponse" : { "required" : [ "scaStatus" ], "type" : "object", "properties" : { "scaStatus" : { "type" : "string", "description" : "Status of the authorisation request.", "enum" : [ "received", "psuIdentified", "psuAuthenticated", "scaMethodSelected", "started", "unconfirmed", "finalised", "failed", "exempted" ] } } }, "Xs2aAuthorisationsRequestResponse" : { "required" : [ "authorisationIds" ], "type" : "object", "properties" : { "authorisationIds" : { "type" : "array", "description" : "List of authorisation request ids.", "items" : { "type" : "string", "description" : "List of authorisation request ids.", "format" : "uuid" } } } }, "Xs2aAccountReference" : { "type" : "object", "properties" : { "iban" : { "type" : "string", "description" : "The iban is used in the body of the Consent or Payment Request Message for retrieving account access consent or initiating a payment for this payment account, cp. Section 6.3. If an iban is provided then ukSortCode and ukAccountNumber should be left empty." }, "foreignAccountNumber" : { "type" : "string", "description" : "The foreignAccountNumber is used in the body of the cross-border-credit-transfers Payment Request Message for creditor account, If a foreignAccountNumber is provided then iban, ukSortCode and ukAccountNumber should be left empty." }, "ukSortCode" : { "type" : "string", "description" : "The ukSortCode and ukAccountNumber are used in the body of the Consent or Payment Request Message for retrieving account access consent or initiating a payment for this payment account, cp. Section 6.3. If ukSortCode and ukAccountNumber are provided then iban should be left empty." }, "ukAccountNumber" : { "type" : "string" }, "currency" : { "type" : "string", "description" : "Account currency" } }, "description" : "PSU's account number." }, "Xs2aPaymentRequestResponse" : { "required" : [ "_links", "authorisationId", "paymentId", "transactionStatus" ], "type" : "object", "properties" : { "transactionStatus" : { "type" : "string", "description" : "Transaction status.", "enum" : [ "RCVD", "PDNG", "ACCP", "ACTC", "ACWC", "ACWP", "ACSP", "ACSC", "RJCT", "CANC", "PATC", "ACFC" ] }, "paymentId" : { "type" : "string", "description" : "Transaction ID." }, "authorisationId" : { "type" : "string", "description" : "ID of the corresponding authorisation subresource" }, "debtorAccount" : { "$ref" : "#/components/schemas/Xs2aAccountReference" }, "debtorName" : { "type" : "string", "description" : "Debtor name." }, "_links" : { "$ref" : "#/components/schemas/Xs2aPaymentRequestResponseLinks" } } }, "Xs2aPaymentRequestResponseLinks" : { "type" : "object", "properties" : { "scaOAuth" : { "type" : "string", "description" : "A link to the OAuth2 configuration of the ASPSP's authorisation server." }, "scaRedirect" : { "type" : "string", "description" : "A link to the OAuth2 authorization resource." }, "scaStatus" : { "type" : "string", "description" : "A link to the authorisation sub-resource. In practice this is the same as the confirmation link." }, "self" : { "type" : "string", "description" : "The link to the resource created by the undergoing request. This link can be used to retrieve the resource data." }, "confirmation" : { "type" : "string", "description" : "The link to the authorisation sub-resource." }, "status" : { "type" : "string", "description" : "The link to retrieve the transaction status of a resource." } } }, "Xs2aStatusRequestResponse" : { "required" : [ "transactionStatus" ], "type" : "object", "properties" : { "transactionStatus" : { "type" : "string", "description" : "Transaction status.", "enum" : [ "RCVD", "PDNG", "ACCP", "ACTC", "ACWC", "ACWP", "ACSP", "ACSC", "RJCT", "CANC", "PATC", "ACFC" ] }, "fundsAvailable" : { "type" : "boolean", "description" : "This data element is contained, if a funds check has been performed and if the transactionStatus is \"ACTC\", \"ACWC\" or \"ACCP\"." } } }, "Xs2aConfirmationOfFundsResponse" : { "type" : "object", "properties" : { "fundsAvailable" : { "type" : "boolean", "description" : "Equals \"true\" if sufficient funds are available at the time of the request, \"false\" otherwise." } } }, "Xs2aConfirmationOfFundsRequest" : { "required" : [ "account", "instructedAmount" ], "type" : "object", "properties" : { "instructedAmount" : { "$ref" : "#/components/schemas/Xs2aAmount" }, "account" : { "$ref" : "#/components/schemas/Xs2aAccountReference" }, "payee" : { "type" : "string", "description" : "The merchant where the card is accepted as an information to the PSU." }, "cardNumber" : { "type" : "string", "description" : "Card Number of the card issued by the PIISP. Should be delivered if available." } } }, "Xs2aAccess" : { "type" : "object", "properties" : { "accounts" : { "type" : "array", "description" : "Is asking for detailed account information. If the array is empty, the TPP is asking for an accessible account list. This may be restricted in a PSU/ASPSP authorization dialogue.", "items" : { "$ref" : "#/components/schemas/Xs2aAccountReference" } }, "balances" : { "type" : "array", "description" : "Is asking for balances of the addressed accounts. If the array is empty, the TPP is asking for the balances of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue.", "items" : { "$ref" : "#/components/schemas/Xs2aAccountReference" } }, "transactions" : { "type" : "array", "description" : "Is asking for transactions of the addressed accounts. If the array is empty, the TPP is asking for the transactions of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue.", "items" : { "$ref" : "#/components/schemas/Xs2aAccountReference" } }, "availableAccounts" : { "type" : "string", "description" : "Not supported." }, "availableAccountsWithBalance" : { "type" : "string", "description" : "Not supported." }, "allPsd2" : { "type" : "string", "description" : "Not supported." }, "restrictedTo" : { "type" : "array", "description" : "Limits the addressed accounts to those of the indicate types. If the array is empty, the TPP is asking for all accessible accounts", "items" : { "type" : "string", "description" : "Limits the addressed accounts to those of the indicate types. If the array is empty, the TPP is asking for all accessible accounts", "enum" : [ "CACC", "CASH", "CHAR", "CISH", "COMM", "CPAC", "LLSV", "LOAN", "MGLD", "MOMA", "NREX", "ODFT", "ONDP", "OTHR", "SACC", "SLRY", "SVGS", "TAXE", "TRAN", "TRAS" ] } } }, "description" : "Requested access services." }, "Xs2aConsentRequestResponse" : { "required" : [ "access", "authorisationId", "consentStatus", "frequencyPerDay", "lastActionDate", "validUntil" ], "type" : "object", "properties" : { "consentStatus" : { "type" : "string", "description" : "The status of the consent resource.", "enum" : [ "received", "valid", "rejected", "expired", "terminatedByTpp", "revokedByPsu" ] }, "consentId" : { "type" : "string", "description" : "ID of the corresponding consent object as returned by an Account Information Consent Request." }, "authorisationId" : { "type" : "string", "description" : "ID of the corresponding authorisation subresource" }, "access" : { "$ref" : "#/components/schemas/Xs2aAccess" }, "recurringIndicator" : { "type" : "boolean", "description" : "\"true\", if the consent is for recurring access to the account data. \"false\", if the consent is for one access to the account data." }, "validUntil" : { "type" : "string", "description" : "This parameter is requesting a valid until date for the requested consent. The content is the local ASPSP date in ISODate Format, e.g. 2017-10-30. If a maximal available date is requested, a date in far future is to be used: \"9999-12-31\". The consent object to be retrieved by the GET Consent.", "format" : "date" }, "frequencyPerDay" : { "type" : "integer", "description" : "This field indicates the requested maximum frequency for an access per day. For a one-off access, this attribute is set to \"1\".", "format" : "int32" }, "lastActionDate" : { "type" : "string", "description" : "This date is containing the date of the last action on the consent object either through the XS2A interface or the PSU/ASPSP interface having an impact on the status.", "format" : "date" }, "_links" : { "$ref" : "#/components/schemas/Xs2aConsentRequestResponseLinks" } } }, "Xs2aConsentRequestResponseLinks" : { "type" : "object", "properties" : { "scaOAuth" : { "type" : "string", "description" : "A link to the OAuth2 configuration of the ASPSP's authorisation server." }, "scaRedirect" : { "type" : "string", "description" : "A link to the OAuth2 authorization resource." }, "scaStatus" : { "type" : "string", "description" : "A link to the authorisation sub-resource. In practice this is the same as the confirmation link." }, "self" : { "type" : "string", "description" : "The link to the resource created by the undergoing request. This link can be used to retrieve the resource data." }, "confirmation" : { "type" : "string", "description" : "The link to the authorisation sub-resource." }, "status" : { "type" : "string", "description" : "The link to retrieve the transaction status of a resource." } }, "description" : "Consent links." }, "Xs2aConsentStatusResponse" : { "required" : [ "consentStatus" ], "type" : "object", "properties" : { "consentStatus" : { "type" : "string", "description" : "This is the overall lifecycle status of the consent.", "enum" : [ "received", "valid", "rejected", "expired", "terminatedByTpp", "revokedByPsu" ] } } }, "Xs2aConsentRequest" : { "required" : [ "access", "combinedServiceIndicator", "frequencyPerDay", "recurringIndicator", "validUntil" ], "type" : "object", "properties" : { "access" : { "$ref" : "#/components/schemas/Xs2aAccess" }, "recurringIndicator" : { "type" : "boolean", "description" : "\"true\", if the consent is for recurring access to the account data. \"false\", if the consent is for one access to the account data." }, "validUntil" : { "type" : "string", "description" : "This parameter is requesting a valid until date for the requested consent. The content is the local ASPSP date in ISODate Format, e.g. 2017-10-30. If a maximal available date is requested, a date in far future is to be used: \"9999-12-31\". The consent object to be retrieved by the GET Consent.", "format" : "date" }, "frequencyPerDay" : { "type" : "integer", "description" : "This field indicates the requested maximum frequency for an access per day. For a one-off access, this attribute is set to \"1\".", "format" : "int32" }, "combinedServiceIndicator" : { "type" : "boolean", "description" : "Sessions are not supported. Should be to \"false\"." } } }, "Xs2aConfirmationOfFundsConsentRequest" : { "required" : [ "account" ], "type" : "object", "properties" : { "account" : { "$ref" : "#/components/schemas/Xs2aAccountReference" }, "cardNumber" : { "type" : "string", "description" : "Card Number of the card issued by the PIISP. Should be delivered if available." }, "cardExpiryDate" : { "type" : "string", "description" : "Expiry date of the card issued by the PIISP", "format" : "date" }, "cardInformation" : { "type" : "string", "description" : "Additional explanation for the card product." }, "registrationInformation" : { "type" : "string", "description" : "Additional information about the registration process for the PSU, e.g. a reference to the TPP / PSU contract" } } } } } }