{ "openapi": "3.0.0", "info": { "title": "Open Banking: TPP API v2", "description": "Endpoints for interacting with ASPSPs accounts.", "version": "2.0.0" }, "servers": [ { "url": "%tpp_api_url%/tpp/v2" } ], "tags": [ { "name": "Account", "description": "Endpoints for confirming funds in the account." }, { "name": "Payment", "description": "Endpoints for executing payments." }, { "name": "Bulk payments", "description": "Endpoints for executing bulk payments." }, { "name": "General", "description": "Endpoints for interacting with the general data." }, { "name": "Funds confirmation", "description": "Endpoints for confirming funds in the account." }, { "name": "Direct payments", "description": "Some supported ASPSPs provide a more direct approach to some actions. Instead of retrieving prior user consent, actions can be executed directly,\nfollowed by an SCA confirmation in the next step. [Direct action security](#security--direct-security) is also different from the usual action [security](#security)." }, { "name": "Direct payments without Bank", "description": "Endpoints for executing direct payments (without acquiring previous consent)." } ], "components": { "securitySchemes": { "tokenAuth": { "type": "http", "scheme": "bearer" }, "clientId": { "type": "apiKey", "in": "header", "name": "X-Client-ID" } }, "schemas": { "Account": { "type": "object", "required": [ "resourceId", "currency" ], "properties": { "resourceId": { "type": "string", "description": "The account ID.", "example": "123", "maxLength": 255 }, "iban": { "description": "The IBAN of the account. For some providers, certain accounts might not have this information (e.g., an account for a credit card).", "type": "string", "example": "GB29NWBK60161331926819", "maxLength": 34 }, "bban": { "type": "string", "description": "The local ASPSP identifier of the account.", "example": "29823529", "maxLength": 30 }, "accountNumber": { "type": "string", "description": "The account number. Used to identify the account in the United Kingdom.", "minLength": 8, "maxLength": 8, "example": "29823529" }, "sortCode": { "type": "string", "description": "The sort code. Used to identify the account in the United Kingdom.", "minLength": 6, "maxLength": 6, "example": "902127" }, "currency": { "type": "string", "description": "The account currency in ISO 4217 alpha-3 currency code.", "example": "EUR", "maxLength": 3, "minLength": 3 }, "paymentSchemes": { "type": "array", "description": "A list of possible [Payment Schemes](#appendix--enum--payment-schemes) when the account is used as debtor during the payment.", "items": { "type": "string", "example": "SCT", "description": "Describes which payment scheme is used. See [Payment Schemes](#appendix--enum--payment-schemes) for possible values.", "enum": [ "FPS", "BACS", "CHAPS", "SCT", "SCTI", "SWIFT" ] } }, "name": { "type": "string", "description": "The name of the account.", "example": "Main checking account", "maxLength": 255 } } }, "AccountResponse": { "type": "object", "required": [ "account" ], "properties": { "account": { "$ref": "#/components/schemas/Account" } } }, "AccountListResponse": { "type": "object", "required": [ "accounts" ], "properties": { "accounts": { "type": "array", "description": "The list of accounts.", "items": { "$ref": "#/components/schemas/Account" } } } }, "AccountBalance": { "type": "object", "description": "The object with the balance amount and currency.", "required": [ "balanceAmount", "balanceType" ], "properties": { "balanceAmount": { "$ref": "#/components/schemas/StructuredAmount" }, "balanceType": { "type": "string", "description": "[Balance type](#appendix--enum--balance-type)", "example": "interimBooked", "enum": [ "openingBooked", "interimAvailable", "interimBooked", "forwardAvailable", "nonInvoiced" ] } } }, "AccountBalanceList": { "type": "object", "required": [ "balances" ], "properties": { "balances": { "type": "array", "description": "The array containing a list of balances.", "items": { "$ref": "#/components/schemas/AccountBalance" } } } }, "AccountTransaction": { "type": "object", "required": [ "transactionAmount" ], "properties": { "transactionId": { "type": "string", "description": "The transaction ID.", "example": "123", "maxLength": 255 }, "creditorName": { "type": "string", "description": "The name of the creditor/receiver.", "example": "John Doe", "maxLength": 70 }, "creditorAccount": { "$ref": "#/components/schemas/AccountReference" }, "debtorName": { "type": "string", "description": "The name of the debtor/sender.", "example": "John Doe", "maxLength": 70 }, "debtorAccount": { "$ref": "#/components/schemas/AccountReference" }, "remittanceInformationUnstructured": { "type": "string", "description": "An unstructured reference of the transaction.", "example": "Ref1234", "maxLength": 140 }, "remittanceInformationStructured": { "$ref": "#/components/schemas/RemittanceInformationStructured" }, "transactionAmount": { "$ref": "#/components/schemas/StructuredAmount" }, "valueDate": { "type": "string", "description": "The date in the YYYY-MM-DD format at which assets become available.", "example": "2022-10-10", "maxLength": 10, "minLength": 10 }, "bookingDate": { "type": "string", "description": "The date when an entry is posted to an account in the YYYY-MM-DD format.", "example": "2022-10-10", "maxLength": 10, "minLength": 10 } } }, "AccountTransactionList": { "type": "object", "description": "The object containing a list of booked and pending transactions.", "properties": { "booked": { "type": "array", "description": "A list of booked transactions of the account.", "items": { "$ref": "#/components/schemas/AccountTransaction" } }, "pending": { "type": "array", "description": "A list of pending transactions of the account.", "items": { "$ref": "#/components/schemas/AccountTransaction" } } } }, "AccountTransactionsResponse": { "type": "object", "description": "The response object containing a list of transactions.", "properties": { "transactions": { "$ref": "#/components/schemas/AccountTransactionList" }, "_links": { "$ref": "#/components/schemas/NextLinks" } } }, "RemittanceInformationStructured": { "type": "object", "required": [ "reference" ], "description": "The reference as contained in the structured remittance reference structure.", "properties": { "reference": { "type": "string", "description": "The actual reference.", "example": "ORD123", "maxLength": 35 }, "referenceType": { "type": "string", "description": "The remittance information type.", "example": "UNSTRUCTURED", "maxLength": 35 } } }, "StructuredAmount": { "description": "An amount with a currency.", "type": "object", "required": [ "amount", "currency" ], "properties": { "amount": { "type": "string", "description": "The amount of funds in the balance. The decimal separator is dot.", "example": "123.22", "maxLength": 14 }, "currency": { "type": "string", "description": "The account currency in ISO 4217 alpha-3 currency code.", "example": "EUR", "maxLength": 3, "minLength": 3 } } }, "AccountReference": { "type": "object", "description": "The identifier of the addressed account.", "properties": { "iban": { "description": "The IBAN of the account.", "type": "string", "example": "GB29NWBK60161331926819", "maxLength": 34 }, "bban": { "type": "string", "description": "The local ASPSP identifier of the account.", "example": "29823529", "maxLength": 30 }, "accountNumber": { "type": "string", "description": "The account number. Used to identify the account in the United Kingdom.\n", "minLength": 8, "maxLength": 8, "example": "29823529" }, "sortCode": { "type": "string", "description": "The sort code. Used to identify the account in the United Kingdom.", "minLength": 6, "maxLength": 6, "example": "902127" } } }, "BankReference": { "type": "object", "description": "The information about the payment receiver's institution. Mandatory to use with the [SWIFT](#appendix--enum--payment-schemes) payment scheme.", "properties": { "name": { "type": "string", "description": "The name of the institution.", "example": "Example bank" }, "bic": { "type": "string", "description": "The Business Identifier Code is an international standard for routing business transactions and identifying business parties.", "example": "FAKEBICX" }, "country": { "type": "string", "description": "Two characters as defined by ISO 3166.", "maxLength": 2, "minLength": 2, "example": "GB" } } }, "EmptyAdditionalErrors": { "type": "array", "example": [], "items": { "$ref": "#/components/schemas/AdditionalError" } }, "UnauthorizedError": { "type": "object", "description": "The unauthorized error object example.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "TOKEN_INVALID" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "OAuth token not valid", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "ForbiddenError": { "type": "object", "description": "The forbidden error object example.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "ROLE_INVALID" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Role not valid for current resource", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "NotFoundError": { "type": "object", "description": "Not found.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "RESOURCE_NOT_FOUND" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Account not found", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "AccessExceededError": { "type": "object", "description": "The forbidden error object example.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "ACCESS_EXCEEDED" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Exceeded API limit", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "InternalServerError": { "type": "object", "description": "The forbidden error object example.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "INTERNAL_ERROR" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Internal Error", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "NotAllowedError": { "type": "object", "description": "A forbidden HTTP method.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "SERVICE_INVALID" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Used HTTP method not supported for current action", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "NotAcceptableError": { "type": "object", "description": "An unsupported `Accept` header.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "REQUESTED_FORMATS_INVALID" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Only application/json supported", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "UnsupportedMediaTypeError": { "type": "object", "description": "An unsupported `Content-Type` header.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "REQUEST_FORMAT_INVALID" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Only application/json supported", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "$ref": "#/components/schemas/EmptyAdditionalErrors" } } }, "AdditionalError": { "type": "object", "description": "The error object providing additional error information.", "required": [ "code" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "FORMAT_ERROR" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Error in provided content", "maxLength": 70 }, "details": { "type": "string", "description": "The longer, human-readable description of the error.", "example": "Longer description of error", "maxLength": 500 } } }, "Error": { "type": "object", "description": "The generic error object example.", "required": [ "code", "requestId", "timestamp" ], "properties": { "code": { "type": "string", "description": "The message code to explain the nature of the underlying error.", "example": "FORMAT_ERROR" }, "title": { "type": "string", "description": "The short, human-readable description of the error.", "example": "Error in provided content", "maxLength": 70 }, "timestamp": { "type": "string", "description": "ISO-8601 timestamp", "example": "2023-04-19T13:33:42+0000" }, "requestId": { "type": "string", "description": "The request ID as communicated in the `X-Request-Id` header.", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "additionalErrors": { "type": "array", "description": "Might be used if more than one error is to be communicated.", "items": { "$ref": "#/components/schemas/AdditionalError" } } } }, "FundsConfirmationRequest": { "type": "object", "description": "Contains a reference of the account that is being queried and a queried amount.", "required": [ "account", "instructedAmount" ], "properties": { "account": { "$ref": "#/components/schemas/AccountReference" }, "instructedAmount": { "$ref": "#/components/schemas/StructuredAmount" } } }, "FundsConfirmationResponse": { "type": "object", "description": "Contains an answer if amount of funds is available or not.", "required": [ "fundsAvailable" ], "properties": { "fundsAvailable": { "type": "boolean", "description": "A boolean value: `true` if funds are available, `false` otherwise.", "example": true } } }, "Bank": { "type": "object", "required": [ "name", "identifier" ], "properties": { "name": { "type": "string", "description": "Name.", "example": "Swedbank" }, "identifier": { "type": "string", "description": "Bank identifier.", "example": "SWED22LT" }, "scopes": { "type": "array", "description": "Array of scopes.", "example": [ "payments.single", "accounts", "accounts.balances", "accounts.transactions" ], "items": { "type": "string", "description": "Available scopes in consent.", "enum": [ "accounts", "accounts.balances", "accounts.transactions", "payments.single", "payments.bulk", "funds_confirmations" ] } }, "paymentSchemes": { "type": "array", "description": "Array of payment schemes.", "example": [ "CHAPS", "SCT", "SCTI" ], "items": { "type": "string", "example": "SCT", "description": "Describes which payment scheme is used. See [Payment Schemes](#appendix--enum--payment-schemes) for possible values.", "enum": [ "FPS", "BACS", "CHAPS", "SCT", "SCTI", "SWIFT" ] } }, "country": { "type": "string", "description": "Country.", "example": "LT" }, "directPaymentSupport": { "type": "boolean", "description": "Indicates whether the bank supports direct API payments.", "example": false } } }, "NextLinks": { "type": "object", "description": "Links pointing to other pages.", "properties": { "next": { "$ref": "#/components/schemas/NextLink" } } }, "PaymentLinks": { "type": "object", "description": "Contains redirect information for a payment confirmation.", "properties": { "scaRedirect": { "$ref": "#/components/schemas/ScaRedirect" } } }, "NextLink": { "type": "object", "description": "The link pointing to the following page.", "properties": { "href": { "type": "string", "description": "The URL of the following page.", "example": "/tpp/v2/banks?page=4&limit=5" } } }, "ScaRedirect": { "type": "object", "description": "The link to which to redirect the PSU browser for a SCA confirmation of the payment.", "properties": { "href": { "type": "string", "description": "A URL of the scaRedirect.", "example": "https://www.testbank.com/asdfasdfasdf" } } }, "TransactionStatus": { "type": "object", "description": "Contains status of the payment.", "properties": { "transactionStatus": { "type": "string", "description": "The transaction status is filled with codes of ISO 20022. See [Payment status](#appendix--enum--payment-statuses).", "example": "RCVD", "minLength": 4, "maxLength": 4 } } }, "CreditorAddress": { "type": "object", "description": "An address of the account holder.", "required": [ "country" ], "properties": { "streetName": { "type": "string", "description": "Street name.", "example": "Random st.", "maxLength": 70 }, "buildingNumber": { "type": "string", "description": "Building number.", "example": "22" }, "townName": { "type": "string", "description": "Name of a town/city.", "example": "London" }, "postCode": { "type": "string", "description": "Postal code.", "example": "LE5 2QF" }, "country": { "type": "string", "description": "Two characters as defined by ISO 3166.", "maxLength": 2, "minLength": 2, "example": "GB" } } }, "SinglePayment": { "type": "object", "description": "A JSON structure initiating a single payment.", "required": [ "instructedAmount", "creditorAccount", "creditorName" ], "properties": { "paymentScheme": { "type": "string", "example": "SCT", "description": "Describes which payment scheme is used. See [Payment Schemes](#appendix--enum--payment-schemes) for possible values.", "enum": [ "FPS", "BACS", "CHAPS", "SCT", "SCTI", "SWIFT" ] }, "debtorAccount": { "$ref": "#/components/schemas/AccountReference" }, "debtorName": { "type": "string", "description": "The name of debtor/sender.", "example": "John Doe", "maxLength": 70 }, "creditorAccount": { "$ref": "#/components/schemas/AccountReference" }, "creditorName": { "type": "string", "description": "The name of creditor/receiver.", "example": "John Doe", "maxLength": 70 }, "remittanceInformationUnstructured": { "type": "string", "description": "An unstructured reference of the transaction.", "example": "Ref1234", "maxLength": 140 }, "remittanceInformationStructured": { "$ref": "#/components/schemas/RemittanceInformationStructured" }, "creditorAddress": { "$ref": "#/components/schemas/CreditorAddress" }, "instructedAmount": { "$ref": "#/components/schemas/StructuredAmount" }, "creditorBank": { "$ref": "#/components/schemas/BankReference" } } }, "BulkSinglePayment": { "type": "object", "description": "A JSON structure of a single payment inside a bulk payment.", "required": [ "instructedAmount", "creditorAccount", "creditorName" ], "properties": { "creditorAccount": { "$ref": "#/components/schemas/AccountReference" }, "creditorName": { "type": "string", "description": "The name of creditor/receiver.", "example": "John Doe", "maxLength": 70 }, "remittanceInformationUnstructured": { "type": "string", "description": "An unstructured reference of the transaction.", "example": "Ref1234", "maxLength": 140 }, "remittanceInformationStructured": { "$ref": "#/components/schemas/RemittanceInformationStructured" }, "creditorAddress": { "$ref": "#/components/schemas/CreditorAddress" }, "instructedAmount": { "$ref": "#/components/schemas/StructuredAmount" } } }, "BulkPayment": { "type": "object", "description": "A JSON structure initiating a bulk payment.", "required": [ "paymentScheme" ], "properties": { "paymentScheme": { "type": "string", "example": "SCT", "description": "Describes which payment scheme is used. See [Payment Schemes](#appendix--enum--payment-schemes) for possible values.", "enum": [ "FPS", "BACS", "CHAPS", "SCT", "SCTI", "SWIFT" ] }, "debtorAccount": { "$ref": "#/components/schemas/AccountReference" }, "debtorName": { "type": "string", "description": "The name of debtor/sender.", "example": "John Doe", "maxLength": 70 }, "payments": { "type": "array", "description": "The array of single bulk payment entries.", "items": { "$ref": "#/components/schemas/BulkSinglePayment" } } } }, "PaymentResponse": { "type": "object", "description": "A JSON body.", "required": [ "paymentId", "transactionStatus" ], "properties": { "paymentId": { "type": "string", "description": "The unique payment identifier.", "example": "1234-wertiq-983", "maxLength": 255 }, "transactionStatus": { "type": "string", "description": "The transaction status is filled with codes of ISO 20022. See [Payment status](#appendix--enum--payment-statuses).", "example": "RCVD", "minLength": 4, "maxLength": 4 }, "_links": { "$ref": "#/components/schemas/PaymentLinks" } } } }, "responses": { "InternalServerError": { "description": "The Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } }, "security": [ { "tokenAuth": [] }, { "clientId": [] } ], "paths": { "/accounts": { "get": { "tags": [ "Account" ], "summary": "Returns a list of accounts.", "description": "**Scope:** `accounts`", "parameters": [ { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A JSON array of accounts.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountListResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/accounts/{accountId}": { "get": { "tags": [ "Account" ], "summary": "Returns details of a single account.", "description": "**Scope:** `accounts`", "parameters": [ { "name": "accountId", "in": "path", "required": true, "description": "The account ID. Identical to `accountId` from the [Get account list](#actions--accounts--get-/v2/accounts) action.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "Details of the account.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/accounts/{accountId}/balances": { "get": { "tags": [ "Account" ], "summary": "Returns a list of account balances.", "description": "**Scope:** `accounts.balances`", "parameters": [ { "name": "accountId", "in": "path", "required": true, "description": "The account ID. Identical to `accountId` from the [Get account list](#actions--accounts--get-/v2/accounts) action.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A JSON array of account balances.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountBalanceList" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/accounts/{accountId}/transactions": { "get": { "tags": [ "Account" ], "summary": "Returns a list of account transactions.", "description": "**Scope:** `accounts.transactions`", "parameters": [ { "name": "accountId", "in": "path", "required": true, "description": "The account ID. Identical to `accountId` from the [Get account list](#actions--accounts--get-/v2/accounts) action.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } }, { "name": "bookingStatus", "in": "query", "required": true, "description": "The type of transaction to return. Possible values: `booked`, `pending`, `both`.", "schema": { "type": "string", "enum": [ "booked", "pending", "both" ] } }, { "name": "pageSize", "in": "query", "required": false, "allowEmptyValue": true, "description": "The number of transactions in a single response. The default value is `100`.", "schema": { "type": "integer", "example": 100 } }, { "name": "pageKey", "in": "query", "required": false, "allowEmptyValue": true, "description": "A parameter used when paging value points to the page following the previous API call.", "schema": { "type": "string", "example": "ZDU0N2M0YTVkZTk3NGIxODkxMjNmZWVmYzEwNjQxZDg" } }, { "name": "dateFrom", "in": "query", "required": false, "allowEmptyValue": true, "description": "Filters transactions since a specific date in the `YYYY-MM-DD` format.", "schema": { "type": "string", "example": "2023-01-01" } }, { "name": "dateTo", "in": "query", "required": false, "allowEmptyValue": true, "description": "Filters transactions until a specific date in the `YYYY-MM-DD` format.", "schema": { "type": "string", "example": "2023-01-01" } } ], "responses": { "200": { "description": "A JSON array of account transactions.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountTransactionsResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/payments": { "post": { "tags": [ "Payment" ], "summary": "Initiate a single new payment.", "description": "**Scope:** `payments.single`. \n\nThe action is initiated by the TPP, and it is a part of the [Payment flow](#appendix--workflow--payment). \n\n In `TPP-Redirect-URI` header, an URL to which PSU is redirected after payment confirmation needs to be provided,\nadditional parameters indicating `status` and `paymentId` (optionally message) are added to the URL after the redirect.\nThis can be used to indicate if payment was confirmed successfully.\n\nIn the case of debtorAccount and creditorAccount, at least one of iban, bban or accountNumber with sortCode has to be provided, depending on the paymentScheme and type of payment that is being initiated.", "parameters": [ { "name": "TPP-Redirect-URI", "in": "header", "required": true, "description": "The URI of the TPP, where the transaction flow shall be redirected to after successful SCA.", "schema": { "type": "string", "example": "http://example.com/payment-initiated" } }, { "name": "Accept-Language", "in": "header", "description": "\tThe SCA page is displayed based on the BCP47 language identifiers used in this standard HTTP header. Used when ASPSP requires a separate indication of language preference from the PSU’s browser’s Accept-Language. \n Only the most preferred language is being passed.", "schema": { "type": "string", "example": "en-US" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "requestBody": { "description": "The information about the executed payment.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinglePayment" } } }, "required": true }, "responses": { "201": { "description": "A successful response indicating a payment initiation request was created. Payment execution does not start until the PSU performs the SCA.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "415": { "description": "An unsupported Content-Type header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnsupportedMediaTypeError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/payments/{paymentId}": { "get": { "tags": [ "Payment" ], "summary": "Retrieve content of an initiated payment.", "description": "**Scope:** `payments.single` \n\n The action is initiated by the TPP and it is a part of the [Get data flow](#appendix--workflow--get-data).", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "The successful response returns the content of a previously initiated payment.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinglePayment" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/payments/{paymentId}/status": { "get": { "tags": [ "Payment" ], "summary": "Retrieve current status of an initiated payment.", "description": "**Scope:** `payments.single` \n\n The action is initiated by the TPP and it is a part of the [Get data flow](#appendix--workflow--get-data).", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A successful response returns the content with the transaction status indication. The transaction status is filled with codes of the ISO 20022.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionStatus" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/bulk-payments": { "post": { "tags": [ "Bulk payments" ], "summary": "Initiate a bulk payment.", "description": "**Scope:** `payments.bulk` \n\n The action is initiated by the TPP and it is a part of the [Payment flow](#appendix--workflow--payment). \n\nIn the `TPP-Redirect-URI` header, the URL to which the PSU is redirected after payment confirmation needs to be provided.\nAdditional parameters indicating the `status` and `paymentId` (optionally, with a message) are added to the URL after the redirect.\nThis can be used to indicate if payment was confirmed successfully.\n\nIn the case of debtorAccount and creditorAccount, at least one of iban, bban or accountNumber with sortCode has to be provided, depending on the paymentScheme and type of payment that is being initiated.", "parameters": [ { "name": "TPP-Redirect-URI", "in": "header", "required": true, "description": "The URI of the TPP, where the transaction flow redirects to after the successful SCA.", "schema": { "type": "string", "example": "http://example.com/payment-initiated" } }, { "name": "Accept-Language", "in": "header", "description": "The SCA page is displayed based on the BCP47 language identifiers used in this standard HTTP header. Used when ASPSP requires a separate indication of language preference from the PSU’s browser’s Accept-Language. \n Only the most preferred language is being passed.", "schema": { "type": "string", "example": "en-US" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "requestBody": { "description": "The information about the executed payment.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkPayment" } } }, "required": true }, "responses": { "201": { "description": "A successful response indicating a payment initiation request was created. Payment execution does not start until the PSU performs the SCA.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "415": { "description": "An unsupported Content-Type header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnsupportedMediaTypeError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/bulk-payments/{paymentId}": { "get": { "tags": [ "Bulk payments" ], "summary": "Retrieve content of an initiated bulk payment.", "description": "**Scope:** `payments.bulk`", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A successful response returns the content of a previously initiated payment.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinglePayment" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/bulk-payments/{paymentId}/status": { "get": { "tags": [ "Bulk payments" ], "summary": "Retrieve current status of an initiated bulk payment.", "description": "**Scope:** `payments.bulk`", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A successful response returns the content with the transaction status indication. The transaction status is filled with codes of the ISO 20022.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionStatus" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/banks": { "get": { "tags": [ "General" ], "summary": "Returns a list of banks.", "parameters": [ { "name": "name", "in": "query", "description": "The bank name.", "required": false, "schema": { "type": "string", "example": "Swedbank LT Sandbox" } }, { "name": "identifier", "in": "query", "description": "The bank identifier code.", "required": false, "schema": { "type": "string", "example": "SANDLT22" } }, { "name": "country", "in": "query", "description": "ISO 3166-1 alpha-2.", "required": false, "schema": { "type": "string", "example": "LT" } }, { "name": "scopes[]", "in": "query", "description": "Available [Scopes](#appendix--enum--scopes) in the bank.", "required": false, "schema": { "type": "array", "example": [ "accounts.transactions" ], "items": { "type": "string", "description": "Available scopes in the consent." } } }, { "name": "paymentSchemes[]", "in": "query", "description": "Available [Payment Schemes](#appendix--enum--payment-schemes) in the bank.", "required": false, "schema": { "type": "array", "example": [], "items": { "type": "string", "example": "SCT", "description": "Describes which payment scheme is used. See [Payment Schemes](#appendix--enum--payment-schemes) for possible values." } } }, { "name": "directPaymentSupport", "in": "query", "description": "Determines whether the bank supports direct payments via API.", "required": false, "schema": { "type": "boolean" } }, { "name": "page", "in": "query", "required": false, "allowEmptyValue": true, "description": "The page number.", "schema": { "type": "integer", "example": 1 } }, { "name": "limit", "in": "query", "required": false, "allowEmptyValue": true, "description": "Specifies the limit of records to return.", "schema": { "type": "integer", "example": 5 } } ], "responses": { "200": { "description": "A JSON array of banks.", "content": { "application/json": { "schema": { "type": "object", "properties": { "banks": { "type": "array", "items": { "$ref": "#/components/schemas/Bank" } }, "_links": { "$ref": "#/components/schemas/NextLinks" } } } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/funds-confirmations": { "post": { "tags": [ "Funds confirmation" ], "summary": "Used by the CBPII to confirm whether the amount of funds is available in the account.", "description": "**Scope:** `funds_confirmations`. \n\n Used by the CBPII to confirm whether the amount of funds is available in the account. \n\n Funds can only be confirmed against the currency of the account. This action does not reserve the amount requested in the account but only indicates if the requested amount is present at the time of the API call.", "parameters": [ { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "requestBody": { "description": "The information about the executed payment.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FundsConfirmationRequest" } } }, "required": true }, "responses": { "200": { "description": "A JSON response containing `yes` or `no`. It specifies if funds are present in the account.", "headers": { "X-Rate-Limit-Limit": { "schema": { "type": "integer", "example": 4 }, "description": "The number of requests allowed per day.", "required": true }, "X-Rate-Limit-Remaining": { "schema": { "type": "integer", "example": 4 }, "description": "The number of remaining requests.", "required": true }, "X-Rate-Limit-Reset": { "schema": { "type": "integer", "example": 3566 }, "description": "A number of seconds remaining until a limit reset.", "required": true }, "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FundsConfirmationResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "415": { "description": "An unsupported Content-Type header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnsupportedMediaTypeError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/direct/payments/{bankIdentifier}": { "post": { "tags": [ "Direct payments" ], "summary": "Initiate a single new payment.", "description": "The action is initiated by the TPP, and it is a part of the [Direct_payment flow](#appendix--workflow--direct-payment). \n\nThe `bankIdentifier` parameter in the URL may be omitted. In this case, the user is redirected to the `scaRedirect` URL from the response and then needs to select the BANK through which the payment is executed. \n\nIn the `TPP-Redirect-URI` header, the URL to which the PSU is redirected after payment confirmation needs to be provided.\nAdditional parameters indicating the `status` and `paymentId` (optionally, with a message) are added to the URL after the redirect.\nThis can be used to indicate if payment was confirmed successfully.", "parameters": [ { "name": "TPP-Redirect-URI", "in": "header", "required": true, "description": "The URI of the TPP, where the transaction flow redirects to after the successful SCA.", "schema": { "type": "string", "example": "http://example.com/payment-initiated" } }, { "name": "bankIdentifier", "in": "path", "required": true, "allowEmptyValue": true, "description": "The identifier of a BANK to initiate the payment. In case the parameter is not provided, the user has the option to select their bank through the GUI during the SCA confirmation.", "schema": { "type": "string", "example": "MOOWGB22" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "requestBody": { "description": "The information about the executed payment.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinglePayment" } } }, "required": true }, "responses": { "201": { "description": "A successful response indicating a payment initiation request was created. Payment execution does not start until the PSU performs the SCA.", "headers": { "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "415": { "description": "An unsupported Content-Type header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnsupportedMediaTypeError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/direct/payments/{bankIdentifier}/{paymentId}": { "get": { "tags": [ "Direct payments" ], "summary": "Retrieve content of an initiated payment.", "description": "The action is initiated by the TPP, and it is a part of the [Get data flow](#appendix--workflow--get-data).", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "bankIdentifier", "in": "path", "required": true, "allowEmptyValue": true, "description": "The identifier of a BANK to initiate the payment. In case the parameter is not provided, the user has the option to select their bank through the GUI during the SCA confirmation.", "schema": { "type": "string", "example": "MOOWGB22" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A successful response returns the content of a previously initiated payment.", "headers": { "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinglePayment" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/direct/payments/{bankIdentifier}/{paymentId}/status": { "get": { "tags": [ "Direct payments" ], "summary": "Retrieve current status of an initiated payment.", "description": "The action is initiated by the TPP, and it is a part of the [Get data flow](#appendix--workflow--get-data).", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "bankIdentifier", "in": "path", "required": true, "allowEmptyValue": true, "description": "The identifier of a BANK to initiate the payment. In case the parameter is not provided, the user has the option to select their bank through the GUI during the SCA confirmation.", "schema": { "type": "string", "example": "MOOWGB22" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A successful response returns the content with the transaction status indication.\n\nThe transaction status is filled with codes of the ISO 20022.", "headers": { "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionStatus" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/direct/payments": { "post": { "tags": [ "Direct payments without Bank" ], "summary": "Initiate a single new payment, with PSU selecting ASPSP during SCA.", "description": "The action is initiated by the TPP, and it is a part of the [Direct_payment flow](#appendix--workflow--direct-payment). \n\n The user is redirected to the `scaRedirect` URL from the response and then needs to select the BANK through which the payment will be executed.\n\nIn the case of debtorAccount and creditorAccount, at least one of iban, bban or accountNumber with sortCode has to be provided, depending on the paymentScheme and type of payment that is being initiated.", "parameters": [ { "name": "TPP-Redirect-URI", "in": "header", "required": true, "description": "The URI of the TPP, where the transaction flow redirects to after the successful SCA.", "schema": { "type": "string", "example": "http://example.com/payment-initiated" } }, { "name": "Accept-Language", "in": "header", "description": "The SCA page is displayed based on the BCP47 language identifiers used in this standard HTTP header. Used when ASPSP requires a separate indication of language preference from the PSU’s browser’s Accept-Language. \n Only the most preferred language is being passed.", "schema": { "type": "string", "example": "en-US" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "requestBody": { "description": "The information about executed payment.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinglePayment" } } }, "required": true }, "responses": { "201": { "description": "A successful response indicating a payment initiation request was created. Payment execution does not start until the PSU performs the SCA.", "headers": { "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentResponse" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "415": { "description": "An unsupported Content-Type header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnsupportedMediaTypeError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/direct/payments/{paymentId}": { "get": { "tags": [ "Direct payments without Bank" ], "summary": "Retrieve content of an initiated payment.", "description": "The action is initiated by the TPP, and it is a part of the [Get data flow](#appendix--workflow--get-data).", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A successful response returns the content of a previously initiated payment.", "headers": { "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinglePayment" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } }, "/direct/payments/{paymentId}/status": { "get": { "tags": [ "Direct payments without Bank" ], "summary": "Retrieve current status of an initiated payment.", "description": "The action is initiated by the TPP, and it is a part of the [Get data flow](#appendix--workflow--get-data).", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "description": "The ID of a payment to retrieve.", "schema": { "type": "string" } }, { "name": "Digest", "in": "header", "description": "A hash (SHA256, SHA512) of the request content encoded in base64.", "required": false, "schema": { "type": "string", "example": "SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=" } }, { "name": "X-Request-Id", "in": "header", "description": "A randomly generated request ID - must be a valid UUID.", "required": true, "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" } }, { "name": "Signature", "in": "header", "description": "A calculated HTTP Signature for the request.", "required": false, "schema": { "type": "string", "example": "keyId=\"SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA\",algorithm=\"rsa-sha256\",headers=\"digest x-request-id x-client-id\",signature=\"fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w==\"" } }, { "name": "Tpp-Signature-Certificate", "in": "header", "description": "A certificate that was used to sign the request. Provided as a base64 encoded value.", "required": false, "schema": { "type": "string", "example": "MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==" } }, { "name": "Date", "in": "header", "required": false, "description": "A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).", "schema": { "type": "string", "example": "Thu, 18 Apr 2024 11:02:45 GMT" } } ], "responses": { "200": { "description": "A successful response returns the content with the transaction status indication.\n\nThe transaction status is filled with codes of the ISO 20022.", "headers": { "X-Request-Id": { "schema": { "type": "string", "example": "39c97edf-7469-42af-96ca-169a902fd8a6" }, "description": "The same value as provided in the request.", "required": true } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionStatus" } } } }, "400": { "description": "A generic error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized, e.g., expired token.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Forbidden, not allowed to access the resource.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "405": { "description": "A forbidden HTTP method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAllowedError" } } } }, "406": { "description": "An unsupported Accept header.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotAcceptableError" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessExceededError" } } } }, "500": { "description": "An Internal Server Error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalServerError" } } } } } } } } }