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/deutsche-bank-create-sepa-instant-credit-transfers-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: dbapi-sepaInstantCreditTransfer Create SEPA Instant Credit…
description: Easily initiate SEPA Instant Credit Transfers, both single and bulk, with complementary operations such as status checks, cancellation, second factor retry and payee verification.
termsOfService: https://developer.db.com/termsandconditions
contact:
url: https://developer.db.com/contact
email: bank.api@db.com
version: v3
servers:
- url: https://simulator-api.db.com:443/gw/dbapi/paymentInitiation/payments/v3
tags:
- name: Create SEPA Instant Credit Transfers
description: Use these endpoints to create SEPA Instant Credit Transfers. Both single and bulk payments are supported.
paths:
/sepaInstantCreditTransfer:
post:
tags:
- Create SEPA Instant Credit Transfers
summary: Initiate a SEPA Instant Credit Transfer
description: Initiate a SEPA Instant Credit Transfer from your own or customer's account to another SEPA account. The transaction(s) must be approved within five minutes. Strong Customer Authentication (SCA) is required prior to the final execution of the payment. Should the second factor authentication fail, it may be retried for the same paymentId using the Second Factor Retry endpoint, without the need to re-initiate the payment, provided the five-minute time window has not elapsed.
operationId: performPaymentInstant
parameters:
- name: idempotency-id
in: header
description: Unique id of the service call. Should be resent during retries to avoid multiple processing of the same request
required: true
style: simple
explode: false
schema:
type: string
format: uuid
- name: Correlation-Id
in: header
description: Free form key controlled by the caller e.g. uuid
required: false
schema:
maxLength: 50
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SepaInstantCreditTransferRequest'
required: true
responses:
'201':
description: successful operation
headers:
location:
description: URI of the created resource
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResponseSingle'
default:
description: unsuccessful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- api_auth_code:
- instant_sepa_credit_transfers
- api_db_smart_access:
- instant_sepa_credit_transfers
x-codegen-request-body-name: paymentRequest
/sepaInstantCreditTransfer/bulk:
post:
tags:
- Create SEPA Instant Credit Transfers
summary: Initiate Bulk SEPA Instant Credit Transfers
description: Initiate Bulk SEPA Instant Credit Transfers from your own or your customer’s account to other SEPA accounts. The transaction(s) must be approved within five minutes. Strong Customer Authentication (SCA) is required prior to the final execution of the payment. Should the second factor authentication fail, it may be retried for the same paymentId using the Second Factor Retry endpoint, without the need to re-initiate the payment, provided the five-minute time window has not elapsed.
parameters:
- name: idempotency-id
in: header
description: Unique id of the service call. Must be present during retries to avoid multiple processing of the same request.
required: true
style: simple
explode: false
schema:
type: string
format: uuid
- name: Correlation-Id
in: header
description: Free form key controlled by the caller e.g. uuid
required: false
schema:
maxLength: 50
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SepaInstantCreditTransferBulkRequest'
required: true
responses:
'201':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResponseBulk'
'400':
description: Unsuccessful operation, returns http status 400. See 'example' property for possible values.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
- code: 2
message: Invalid value for %s.
- code: 16
message: 'OTP invalid challenge response: %s.'
- code: 17
message: Invalid OTP.
- code: 114
message: Unable to identify transaction by Id.
- code: 127
message: Booking date from must precede booking date to.
- code: 131
message: Invalid value for 'sortBy'. Valid values are 'bookingDate[ASC]' and 'bookingDate[DESC]'.
- code: 132
message: not supported
- code: 138
message: it seems that you started a non pushTAN challenge. Please use the PATCH endpoint to continue
- code: 139
message: it seems that you started a pushTAN challenge. Please use the GET endpoint to continue
- code: 6500
message: Parameters in the url or content type are incorrect, please check and retry.
- code: 6501
message: Contracting bank details are Invalid or Missing.
- code: 6502
message: The accepted instructed amount currency is EUR. Please correct your entry and try again.
- code: 6503
message: Parameters submitted are missing or invalid.
- code: 6505
message: Invalid execution date.
- code: 6507
message: Cancellation is not allowed for this transaction.
- code: 6509
message: The parameter in the request does not match with the latest Auth id.
- code: 6510
message: Current status does not allow second factor update with the action provided.
- code: 6511
message: Invalid execution date.
- code: 6515
message: The source iban or account type is invalid.
- code: 6516
message: Cancellation is not allowed for this transaction.
- code: 6517
message: The accepted creditor account currency is EUR. Please correct your entry and try again.
- code: 6518
message: The requested collection date should not be a public holiday or in the weekends. Please try again.
- code: 6519
message: The requested execution date should not be greater than 90 days in the future. Please try again.
- code: 6520
message: 'Invalid value: requestedExecutionDate must match yyyy-MM-dd format.'
- code: 6521
message: The accepted debtor account currency is EUR. Please correct your entry and try again.
- code: 6523
message: There is no legal entity present for the source iban. Please correct your entry and try again.
- code: 6524
message: You have reached the maximum allowable limit for the day. Please wait until tomorrow to initiate additional transfers or reduce your transfer amount and try again.
- code: 6525
message: The group header control sum does not match the total of all transactions amounts. Please try again.
- code: 6526
message: 'Invalid value: createDateTime must match yyyy-MM-dd''T''HH:mm:ss format.'
- code: 6527
message: The payment information control sum does not match the total amount of transactions in this block. Please try again.
- code: 6528
message: The group header transaction count does not match the total number of transactions provided. Please try again.
- code: 6529
message: The payment information transaction count does not match the total number of transactions provided in this block. Please try again.
- code: 6531
message: Amount must have at most 2 decimal places
'401':
description: Unsuccessful operation, returns http status 401. See 'example' property for possible values.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
- code: 401
message: The requested function requires a SCA Level Authentication.
'404':
description: Unsuccessful operation, returns http status 404. See 'example' property for possible values.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
- code: 6504
message: The parameters in the request do not match the initial request.
- code: 6508
message: SEPA payment not found.
'409':
description: Unsuccessful operation, returns http status 409. See 'example' property for possible values.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
- code: 6506
message: The IdempotencyId already being used.
security:
- api_auth_code:
- bulk_instant_sepa_credit_transfers
- api_db_smart_access:
- bulk_instant_sepa_credit_transfers
operationId: postSepaInstantCreditTransferBulk
x-operation-id-source: derived
components:
schemas:
AddressLine:
type: object
properties:
streetAndHouseNumber:
maxLength: 70
type: string
description: Street name and house number
zipCodeAndCity:
maxLength: 70
type: string
description: Zip code and city name
description: This Object is deprecated and will be completely removed after November 2026. Please use other address fields to submit addresses.
IBAN:
pattern: '[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}'
type: string
description: The IBAN of this account.
CloseMatchName:
type: string
description: The creditor account holder's name as officially registered by the beneficiary's bank, provided when the vopStatus is CLOSE_MATCH.
PaymentResponseBulk:
required:
- authId
- paymentId
- transactionStatus
type: object
properties:
transactionStatus:
$ref: '#/components/schemas/TransactionStatus'
paymentId:
$ref: '#/components/schemas/PaymentId'
authId:
$ref: '#/components/schemas/AuthId'
vopResult:
$ref: '#/components/schemas/VopDetailsBulk'
DebtorName:
maxLength: 140
type: string
EndToEndIdentification:
pattern: '[a-zA-Z0-9.-]{1,35}$'
type: string
description: Unique identification assigned by the initiating party to unambiguously identify the transaction
example: E2E ID from customer
VopSummary:
required:
- numberOfTransactions
- vopStatus
type: object
properties:
vopStatus:
$ref: '#/components/schemas/VopStatus'
numberOfTransactions:
description: Number of transactions with VoP status value MATCH, NO_MATCH, CLOSE_MATCH and NOT_APPLICABLE
allOf:
- $ref: '#/components/schemas/NumberOfTransactions'
DebtorAccount:
required:
- iban
type: object
properties:
iban:
$ref: '#/components/schemas/IBAN'
currency:
$ref: '#/components/schemas/Currency'
VopResults:
required:
- creditor
- creditorAccount
- vopStatus
type: object
properties:
vopStatus:
$ref: '#/components/schemas/VopStatus'
creditor:
$ref: '#/components/schemas/VopCreditor'
creditorAccount:
$ref: '#/components/schemas/VopCreditorAccount'
RequestedExecutionDate:
type: string
description: Must match yyyy-MM-dd format, also in CET timezone.
VopStatus:
type: string
description: 'The outcome of the Verification of Payee check, which compares the beneficiary''s name provided in the payment with the name registered at the beneficiary''s bank. Possible values are: MATCH - The beneficiary''s name fully matches. NO_MATCH - The beneficiary''s name does not match. CLOSE_MATCH - The beneficiary''s name is very similar to the one registered at the beneficiary''s bank. NOT_APPLICABLE - The VoP check could not be carried out (e.g. the beneficiary''s bank does not support the service)'
example: CLOSE_MATCH
enum:
- MATCH
- NO_MATCH
- CLOSE_MATCH
- NOT_APPLICABLE
InstructedAmount:
required:
- amount
- currency
type: object
properties:
amount:
type: number
example: 58.13
currency:
$ref: '#/components/schemas/Currency'
VopResponseSingle:
required:
- creditor
- creditorAccount
- vopStatus
type: object
properties:
vopStatus:
$ref: '#/components/schemas/VopStatus'
creditor:
$ref: '#/components/schemas/VopCreditor'
creditorAccount:
$ref: '#/components/schemas/VopCreditorAccount'
Creditor:
required:
- creditorName
type: object
properties:
creditorName:
$ref: '#/components/schemas/CreditorName'
creditorPostalAddress:
$ref: '#/components/schemas/Address'
CategoryPurposeCode:
maxLength: 35
type: string
PaymentInformationId:
maxLength: 35
type: string
description: Unique identification, as assigned by a sending party, to unambiguously identify the payment information.
CreateDateTime:
type: string
description: Must match yyyy-MM-dd'T'HH:mm:ss' format. Timestamp of request creation date and time at which the message was created.
MessageIdForGroupHeader:
maxLength: 35
type: string
description: Customer reference. This field can contain your own reference to assist you in identifying the file.
example: Message-ID-4711
Address:
type: object
properties:
country:
maxLength: 2
minLength: 2
type: string
description: ISO 3166-1 alpha-2 country code
example: DE
street:
type: string
description: 'Street name is Optional. If provided, streetAndHouseNumber must be ignored '
example: Mainzer Landstrasse 11-17
houseNumber:
type: string
description: 'House number is Optional. If provided, streetAndHouseNumber must be ignored '
example: 11-17
city:
maxLength: 35
type: string
description: Town/city name.Optional. If provided, zipCodeAndCity must be ignored
example: Berlin
zipCode:
maxLength: 16
type: string
description: 'Postal Code. Optional. If provided, zipCodeAndCity must be ignored '
example: '10115'
addressLine:
$ref: '#/components/schemas/AddressLine'
BatchBooking:
type: boolean
description: Validated as true or false. If present and contains "true", batch booking is requested. If present and contains "false", booking per transaction is requester. If element is not present, pre-agreed customer-to-PSP conditions apply.
GroupHeaderBulk:
allOf:
- $ref: '#/components/schemas/GroupHeaderBase'
- type: object
properties:
numberOfTransactions:
$ref: '#/components/schemas/NumberOfTransactions'
- type: object
properties:
controlSum:
$ref: '#/components/schemas/ControlSum'
PaymentInformationBulk:
allOf:
- $ref: '#/components/schemas/PaymentInformationBase'
- type: object
properties:
numberOfTransactions:
$ref: '#/components/schemas/NumberOfTransactions'
- type: object
properties:
creditTransferTransactionInformation:
maxItems: 500
minItems: 1
type: array
items:
$ref: '#/components/schemas/CreditTransferTransactionInformation'
- type: object
properties:
controlSum:
$ref: '#/components/schemas/ControlSum'
- type: object
properties:
batchBooking:
$ref: '#/components/schemas/BatchBooking'
CreditTransferTransactionInformation:
required:
- creditor
- creditorAccount
- instructedAmount
type: object
properties:
paymentIdentification:
$ref: '#/components/schemas/PaymentIdentification'
instructedAmount:
$ref: '#/components/schemas/InstructedAmount'
ultimateDebtor:
$ref: '#/components/schemas/Debtor'
creditorAgent:
$ref: '#/components/schemas/CreditorAgent'
creditor:
$ref: '#/components/schemas/Creditor'
creditorAccount:
$ref: '#/components/schemas/CreditorAccount'
purposeCode:
$ref: '#/components/schemas/PurposeCode'
remittanceInformationUnstructured:
$ref: '#/components/schemas/RemittanceInformationUnstructured'
description: Information about the payment, focusing on the creditor (beneficiary side) such as amount, currency, account and remittance information.
PaymentTypeInformation:
type: object
properties:
categoryPurpose:
$ref: '#/components/schemas/CategoryPurpose'
PaymentIdentification:
type: object
properties:
endToEndIdentification:
$ref: '#/components/schemas/EndToEndIdentification'
instructionId:
pattern: '[a-zA-Z0-9.-]{1,35}$'
type: string
description: Identifier assigned by the initiating party to determine the instruction at the system level
example: Instruction ID 345678
InitiatingParty:
required:
- name
type: object
properties:
name:
$ref: '#/components/schemas/Name'
CreditorName:
maxLength: 70
type: string
description: Name by which a party is known and which is usually used to identify that party.
VopResponseStatusCode:
type: string
description: 'Status indicating the availability of the result. Possible values: READY - The VoP result is available and returned in the response. TRY_AGAIN - The VoP result is not ready yet. Please try again. NOT_AVAILABLE - VoP service is not available.'
example: TRY_AGAIN
enum:
- READY
- TRY_AGAIN
- NOT_AVAILABLE
CreditorAccount:
required:
- currency
- iban
type: object
properties:
iban:
$ref: '#/components/schemas/IBAN'
currency:
$ref: '#/components/schemas/Currency'
VopCreditor:
required:
- name
type: object
properties:
name:
$ref: '#/components/schemas/Name'
closeMatchName:
$ref: '#/components/schemas/CloseMatchName'
Currency:
pattern: '[A-Z]{3}'
type: string
description: ISO 4217 Alpha 3 currency code.
example: EUR
AuthId:
type: string
description: Authentication Id used for update SCA status SEPA payment; it will be valid for 5 minutes.
example: 232ed5b7-fc70-4c67-98bb-bf95b3300001
ControlSum:
type: number
description: The total sum of all Instructed Amounts within this request.
PaymentResponseSingle:
required:
- authId
- paymentId
- transactionStatus
type: object
properties:
transactionStatus:
$ref: '#/components/schemas/TransactionStatus'
paymentId:
$ref: '#/components/schemas/PaymentId'
authId:
$ref: '#/components/schemas/AuthId'
vopResult:
$ref: '#/components/schemas/VopDetailsSingle'
VopDetailsSingle:
required:
- status
- vopResponse
type: object
properties:
vopResponse:
$ref: '#/components/schemas/VopResponseSingle'
status:
$ref: '#/components/schemas/VopResponseStatusCode'
message:
type: string
PaymentId:
type: string
description: Resource identification of the generated paymentinitiation resource ('Transaction-ID' from the header which is populated with the Intra Bank ID); should be available at least when status is PDNG or ACCP.
example: 232ed5b7-fc70-4c67-98bb-bf95b3300001
PaymentInformationBase:
required:
- creditTransferTransactionInformation
- debtor
- debtorAccount
- paymentInformationId
- paymentMethod
type: object
properties:
paymentInformationId:
$ref: '#/components/schemas/PaymentInformationId'
paymentMethod:
$ref: '#/components/schemas/PaymentMethod'
paymentTypeInformation:
$ref: '#/components/schemas/PaymentTypeInformation'
requestedExecutionDate:
$ref: '#/components/schemas/RequestedExecutionDate'
debtor:
$ref: '#/components/schemas/Debtor'
debtorAccount:
$ref: '#/components/schemas/DebtorAccount'
debtorAgent:
$ref: '#/components/schemas/DebtorAgent'
chargeBearer:
$ref: '#/components/schemas/ChargeBearer'
description: Details related to the debtor, including account information, requested execution date and other settings defined for the request.
ErrorResponse:
required:
- code
- message
type: object
properties:
code:
type: integer
description: The error code
message:
type: string
description: Description of the belonging error code.
messageId:
type: string
description: dbAPI internal message-id (unique identifier) that allow reference to each of your API calls.
description: Default error response message
Debtor:
required:
- debtorName
type: object
properties:
debtorName:
$ref: '#/components/schemas/DebtorName'
VopResponseBulk:
required:
- vopResults
- vopSummary
type: object
properties:
numberOfTransactions:
description: Total number of transactions in the bulk file for the provided payment id.
allOf:
- $ref: '#/components/schemas/NumberOfTransactions'
vopSummary:
type: array
items:
$ref: '#/components/schemas/VopSummary'
vopResults:
type: array
items:
$ref: '#/components/schemas/VopResults'
CreditorAgent:
required:
- financialInstitutionId
type: object
properties:
financialInstitutionId:
$ref: '#/components/schemas/FinancialInstitutionId'
description: Financial institution servicing an account for the creditor. This field is optional but if provided, it must contain a valid financialInstitutionId.
DebtorAgent:
required:
- financialInstitutionId
type: object
properties:
financialInstitutionId:
$ref: '#/components/schemas/FinancialInstitutionId'
description: Financial institution servicing an account for the debtor. This field is optional but if provided, it must contain a valid financialInstitutionId.
NumberOfTransactions:
maximum: 500
minimum: 1
type: integer
description: The total number of Payment Instructions within this request.
SepaInstantCreditTransferRequest:
required:
- groupHeader
- paymentInformation
type: object
properties:
groupHeader:
$ref: '#/components/schemas/GroupHeaderBase'
paymentInformation:
$ref: '#/components/schemas/PaymentInformationSingle'
PaymentMethod:
maxLength: 35
type: string
description: Specifies the means of payment that will be used to move the amount of money. Only TRF allowed for now.
RemittanceInformationUnstructured:
maxLength: 140
type: string
description: Free text reference related to the business transaction (e.g. invoice number, contract reference, order Id).
PurposeCode:
maxLength: 4
minLength: 4
type: string
description: ExternalPurpose1Code
VopDetailsBulk:
required:
- status
- vopResponse
type: object
properties:
vopResponse:
$ref: '#/components/schemas/VopResponseBulk'
status:
$ref: '#/components/schemas/VopResponseStatusCode'
message:
type: string
TransactionStatus:
type: string
description: 'Transaction Status: Specifies the status of a transaction, in a coded form. RCVD - Received. The payment instruction has been successfully received. This is only a technical receipt. Further validation is still required. ACTC - AcceptedTechnicalValidation. The payment instruction has passed all necessary technical validations. PDNG - Pending. The payment is undergoing further validations or waiting for processing. ACCP - AcceptedCustomerProfile. The payment instruction has been accepted after validations. RJCT - Rejected. The payment instruction has been rejected following negative validation results. CANC – Cancelled. The payment initiation has been cancelled before execution. Current-dated SCT instant transactions cannot be cancelled. For SCT instant single, the possible statuses are: RCVD, ACTC, PDNG, ACCP, RJCT, CANC. The typical flow for current-dated SCT instant single transactions is RCVD -> PDNG -> ACCP (with RJCT status possible at any step), while for future-dated SCT instant single transactions the flow is RCVD -> ACTC -> (after execution) PDNG -> ACCP (with RJCT status possible at any step and CANC in case of cancellation of a payment before being executed). For SCT instant bulk the possible statuses are: RCVD, ACTC, RJCT, CANC.'
example: ACTC
enum:
- RCVD
- ACTC
- PDNG
- ACCP
- RJCT
- CANC
Name:
maxLength: 70
type: string
description: Name by which a party is known and which is usually used to identify that party.
PaymentInformationSingle:
allOf:
- $ref: '#/components/schemas/PaymentInformationBase'
- type: object
properties:
creditTransferTransactionInformation:
$ref: '#/components/schemas/CreditTransferTransactionInformation'
CategoryPurpose:
type: object
properties:
categoryPurposeCode:
$ref: '#/components/schemas/CategoryPurposeCode'
GroupHeaderBase:
required:
- creationDateTime
- initiatingParty
- messageId
type: object
properties:
messageId:
$ref: '#/components/schemas/MessageIdForGroupHeader'
initiatingParty:
$ref: '#/components/schemas/InitiatingParty'
createDateTime:
$ref: '#/components/schemas/CreateDateTime'
description: General message information about the payment request.
VopCreditorAccount:
required:
- iban
type: object
properties:
iban:
$ref: '#/components/schemas/IBAN'
SepaInstantCreditTransferBulkRequest:
required:
- groupHeader
- paymentInformation
type: object
properties:
groupHeader:
$ref: '#/components/schemas/GroupHeaderBulk'
paymentInformation:
maxItems: 1
minItems: 1
type: array
items:
$ref: '#/components/schemas/PaymentInformationBulk'
vopOptOutRequested:
type: boolean
FinancialInstitutionId:
type: string
description: BICFI - Business identifier code for financial institutions. Standard SWIFT code used to uniquely identify banks and other financial institutions. Must be 8 or 11 alphanumeric characters.
ChargeBearer:
maxLength: 35
type: string
description: Indicates who bears the transaction charges. Under the SEPA scheme, the only permitted value is SLEV.
securitySchemes:
api_auth_code:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://simulator-api.db.com:443/gw/oidc/oauth2/authorize
tokenUrl: https://simulator-api.db.com:443/gw/oidc/oauth2/token
scopes:
instant_sepa_credit_transfers: Initiate and check status of Instant SEPA Credit Transfers
bulk_instant_sepa_credit_transfers: Initiate and check status of Bulk Instant SEPA Credit Transfers
openid: Request access to OpenId Connect functionality
offline_access: Request an OAuth2 Refresh Token
api_db_smart_access:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://simulator-api.db.com:443/gw/oidc/oauth2/token
scopes:
instant_sepa_credit_transfers: Initiate and check status of Instant SEPA Credit Transfers
bulk_instant_sepa_credit_transfers: Initiate and check status of Bulk Instant SEPA Credit Transfers
x-original-swagger-version: '2.0'