Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/tribe-payments-direct-payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: 'Open Banking: TPP API v2 Direct payments API'
description: Endpoints for interacting with ASPSPs accounts.
version: 2.0.0
servers:
- url: '%tpp_api_url%/tpp/v2'
security:
- tokenAuth: []
- clientId: []
tags:
- 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,
followed by an SCA confirmation in the next step. [Direct action security](#security--direct-security) is also different from the usual action [security](#security).'
paths:
/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.
The 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'
components:
schemas:
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'
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
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.
'
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'
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'
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
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'
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'
EmptyAdditionalErrors:
type: array
example: []
items:
$ref: '#/components/schemas/AdditionalError'
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'
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'
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'
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'
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'
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'
AccessExceededError:
type: object
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tribe-payments/refs/heads/main/openapi/tribe-payments-direct-payments-api-openapi.yml