HBCI
Alle HBCI-Zugangsdaten abrufen
GET/api/hbci/credentials
Query-Parameter
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste der HBCI-Zugangsdaten.array<HbciCredential>
Felder anzeigen (19)
idintegerPrimärschlüssel der HBCI-Zugangsdaten. Interne ID.
billing_payout_accountBillingPayoutAccount3Auszahlungskonto, zu dem die Zugangsdaten gehören.
Felder anzeigen (5)
idintegerPrimärschlüssel des Auszahlungskontos. Interne ID.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
bank_dataHbciBankDataBankdaten der Zugangsdaten.
Felder anzeigen (9)
idintegerPrimärschlüssel der Bankdaten. Interne ID.
blzstringBankleitzahl (BLZ) der Bank.
bicstringBIC der Bank.
institute_namestringName des Bankinstituts.
citystringOrt des Bankinstituts.
organizationstringOrganisation der Bank für FinTS.
hbci_urlstringURL des FinTS-Servers.
pin_tan_urlstringURL des PIN/TAN-Dienstes.
fints_versionstringFinTS-Version, die von der Bank unterstützt wird.
enabledbooleanDer Zugang ist aktiviert.
usernamestringAnmeldename bei der Bank.
tan_mode_idintegerID des TAN-Modus, der bei der Bank ausgewählt wurde.
tan_mode_namestringName des TAN-Verfahrens.
tan_medium_namestringName des TAN-Mediums.
bpd_cache_updatedstring (date-time)Zeitpunkt, zu dem die Bankparameter aktualisiert wurden.
last_syncstring (date-time)Zeitpunkt der letzten Synchronisation.
last_sync_errorstringFehler der letzten Synchronisation.
auto_import_enabledbooleanDer automatische Import von Banktransaktionen ist aktiviert.
last_auto_import_atstring (date-time)Zeitpunkt des letzten automatischen Imports.
auto_import_statusstringStatus des letzten automatischen Imports.
auto_import_messagestringMeldung des letzten automatischen Imports.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/credentials', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.getCredentials();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"username": "lena.hartmann@example.org",
"tan_mode_name": "Beispiel",
"tan_medium_name": "Beispiel",
"name": "Beispiel",
"billing_payout_account": {
"id": 42,
"name": "Beispiel",
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"bank_data": {
"id": 42,
"bic": "BYLADEM1001",
"institute_name": "Beispiel",
"city": "Hannover",
"hbci_url": "https://vynst.de",
"pin_tan_url": "https://vynst.de",
"blz": "string",
"organization": "string",
"fints_version": "string"
},
"enabled": true,
"tan_mode_id": 42,
"bpd_cache_updated": "2026-10-15T09:30:00+02:00"
}
]Neue HBCI-Zugangsdaten anlegen
POST/api/hbci/credentials
Request-Body application/json
dataHbciCredential2Felder anzeigen (1)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
Antworten
200Neue HBCI-Zugangsdaten anlegenHbciCredential
Felder anzeigen (19)
idintegerPrimärschlüssel der HBCI-Zugangsdaten. Interne ID.
billing_payout_accountBillingPayoutAccount3Auszahlungskonto, zu dem die Zugangsdaten gehören.
Felder anzeigen (5)
idintegerPrimärschlüssel des Auszahlungskontos. Interne ID.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
bank_dataHbciBankDataBankdaten der Zugangsdaten.
Felder anzeigen (9)
idintegerPrimärschlüssel der Bankdaten. Interne ID.
blzstringBankleitzahl (BLZ) der Bank.
bicstringBIC der Bank.
institute_namestringName des Bankinstituts.
citystringOrt des Bankinstituts.
organizationstringOrganisation der Bank für FinTS.
hbci_urlstringURL des FinTS-Servers.
pin_tan_urlstringURL des PIN/TAN-Dienstes.
fints_versionstringFinTS-Version, die von der Bank unterstützt wird.
enabledbooleanDer Zugang ist aktiviert.
usernamestringAnmeldename bei der Bank.
tan_mode_idintegerID des TAN-Modus, der bei der Bank ausgewählt wurde.
tan_mode_namestringName des TAN-Verfahrens.
tan_medium_namestringName des TAN-Mediums.
bpd_cache_updatedstring (date-time)Zeitpunkt, zu dem die Bankparameter aktualisiert wurden.
last_syncstring (date-time)Zeitpunkt der letzten Synchronisation.
last_sync_errorstringFehler der letzten Synchronisation.
auto_import_enabledbooleanDer automatische Import von Banktransaktionen ist aktiviert.
last_auto_import_atstring (date-time)Zeitpunkt des letzten automatischen Imports.
auto_import_statusstringStatus des letzten automatischen Imports.
auto_import_messagestringMeldung des letzten automatischen Imports.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"deleted": true
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {deleted: true}})
};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials"
payload = { "data": { "deleted": True } }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/credentials', [
'body' => '{"data":{"deleted":true}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"deleted\":true}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"deleted\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials"
payload := strings.NewReader("{\"data\":{\"deleted\":true}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/hbci/hbci_credential.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.createCredential(HbciCredential.fromJson({
"deleted": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"username": "lena.hartmann@example.org",
"tan_mode_name": "Beispiel",
"tan_medium_name": "Beispiel",
"name": "Beispiel",
"billing_payout_account": {
"id": 42,
"name": "Beispiel",
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"bank_data": {
"id": 42,
"bic": "BYLADEM1001",
"institute_name": "Beispiel",
"city": "Hannover",
"hbci_url": "https://vynst.de",
"pin_tan_url": "https://vynst.de",
"blz": "string",
"organization": "string",
"fints_version": "string"
},
"enabled": true,
"tan_mode_id": 42,
"bpd_cache_updated": "2026-10-15T09:30:00+02:00"
}Einzelne HBCI-Zugangsdaten abrufen
GET/api/hbci/credentials/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Liefert ein einzelnes HBCI-Zugangsdaten-Objekt.HbciCredential
Felder anzeigen (19)
idintegerPrimärschlüssel der HBCI-Zugangsdaten. Interne ID.
billing_payout_accountBillingPayoutAccount3Auszahlungskonto, zu dem die Zugangsdaten gehören.
Felder anzeigen (5)
idintegerPrimärschlüssel des Auszahlungskontos. Interne ID.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
bank_dataHbciBankDataBankdaten der Zugangsdaten.
Felder anzeigen (9)
idintegerPrimärschlüssel der Bankdaten. Interne ID.
blzstringBankleitzahl (BLZ) der Bank.
bicstringBIC der Bank.
institute_namestringName des Bankinstituts.
citystringOrt des Bankinstituts.
organizationstringOrganisation der Bank für FinTS.
hbci_urlstringURL des FinTS-Servers.
pin_tan_urlstringURL des PIN/TAN-Dienstes.
fints_versionstringFinTS-Version, die von der Bank unterstützt wird.
enabledbooleanDer Zugang ist aktiviert.
usernamestringAnmeldename bei der Bank.
tan_mode_idintegerID des TAN-Modus, der bei der Bank ausgewählt wurde.
tan_mode_namestringName des TAN-Verfahrens.
tan_medium_namestringName des TAN-Mediums.
bpd_cache_updatedstring (date-time)Zeitpunkt, zu dem die Bankparameter aktualisiert wurden.
last_syncstring (date-time)Zeitpunkt der letzten Synchronisation.
last_sync_errorstringFehler der letzten Synchronisation.
auto_import_enabledbooleanDer automatische Import von Banktransaktionen ist aktiviert.
last_auto_import_atstring (date-time)Zeitpunkt des letzten automatischen Imports.
auto_import_statusstringStatus des letzten automatischen Imports.
auto_import_messagestringMeldung des letzten automatischen Imports.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/credentials/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.getCredential(42);
if (result.success) {
print(result.data);
}{
"id": 42,
"username": "lena.hartmann@example.org",
"tan_mode_name": "Beispiel",
"tan_medium_name": "Beispiel",
"name": "Beispiel",
"billing_payout_account": {
"id": 42,
"name": "Beispiel",
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"bank_data": {
"id": 42,
"bic": "BYLADEM1001",
"institute_name": "Beispiel",
"city": "Hannover",
"hbci_url": "https://vynst.de",
"pin_tan_url": "https://vynst.de",
"blz": "string",
"organization": "string",
"fints_version": "string"
},
"enabled": true,
"tan_mode_id": 42,
"bpd_cache_updated": "2026-10-15T09:30:00+02:00"
}HBCI-Zugangsdaten aktualisieren
PUT/api/hbci/credentials/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataHbciCredential2Felder anzeigen (1)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
Antworten
200HBCI-Zugangsdaten aktualisierenHbciCredential
Felder anzeigen (19)
idintegerPrimärschlüssel der HBCI-Zugangsdaten. Interne ID.
billing_payout_accountBillingPayoutAccount3Auszahlungskonto, zu dem die Zugangsdaten gehören.
Felder anzeigen (5)
idintegerPrimärschlüssel des Auszahlungskontos. Interne ID.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
bank_dataHbciBankDataBankdaten der Zugangsdaten.
Felder anzeigen (9)
idintegerPrimärschlüssel der Bankdaten. Interne ID.
blzstringBankleitzahl (BLZ) der Bank.
bicstringBIC der Bank.
institute_namestringName des Bankinstituts.
citystringOrt des Bankinstituts.
organizationstringOrganisation der Bank für FinTS.
hbci_urlstringURL des FinTS-Servers.
pin_tan_urlstringURL des PIN/TAN-Dienstes.
fints_versionstringFinTS-Version, die von der Bank unterstützt wird.
enabledbooleanDer Zugang ist aktiviert.
usernamestringAnmeldename bei der Bank.
tan_mode_idintegerID des TAN-Modus, der bei der Bank ausgewählt wurde.
tan_mode_namestringName des TAN-Verfahrens.
tan_medium_namestringName des TAN-Mediums.
bpd_cache_updatedstring (date-time)Zeitpunkt, zu dem die Bankparameter aktualisiert wurden.
last_syncstring (date-time)Zeitpunkt der letzten Synchronisation.
last_sync_errorstringFehler der letzten Synchronisation.
auto_import_enabledbooleanDer automatische Import von Banktransaktionen ist aktiviert.
last_auto_import_atstring (date-time)Zeitpunkt des letzten automatischen Imports.
auto_import_statusstringStatus des letzten automatischen Imports.
auto_import_messagestringMeldung des letzten automatischen Imports.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"deleted": true
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {deleted: true}})
};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials/42"
payload = { "data": { "deleted": True } }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/hbci/credentials/42', [
'body' => '{"data":{"deleted":true}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"deleted\":true}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"deleted\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials/42"
payload := strings.NewReader("{\"data\":{\"deleted\":true}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/hbci/hbci_credential.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.updateCredential(HbciCredential.fromJson({
"deleted": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"username": "lena.hartmann@example.org",
"tan_mode_name": "Beispiel",
"tan_medium_name": "Beispiel",
"name": "Beispiel",
"billing_payout_account": {
"id": 42,
"name": "Beispiel",
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"bank_data": {
"id": 42,
"bic": "BYLADEM1001",
"institute_name": "Beispiel",
"city": "Hannover",
"hbci_url": "https://vynst.de",
"pin_tan_url": "https://vynst.de",
"blz": "string",
"organization": "string",
"fints_version": "string"
},
"enabled": true,
"tan_mode_id": 42,
"bpd_cache_updated": "2026-10-15T09:30:00+02:00"
}HBCI-Zugangsdaten löschen (Soft Delete)
DELETE/api/hbci/credentials/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
default
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/hbci/credentials/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials/42")
.delete(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials/42"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.deleteCredential(42);
if (result.success) {
print(result.data);
}Verfügbare TAN-Modi für Zugangsdaten abrufen
GET/api/hbci/credentials/{identifier}/tan-modes
Pfad-Parameter
identifierPflichtstring |
Antworten
default
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.getTanModes(42);
if (result.success) {
print(result.data);
}Verfügbare TAN-Medien für einen TAN-Modus abrufen
GET/api/hbci/credentials/{identifier}/tan-modes/{tanModeId}/media
Pfad-Parameter
identifierPflichtstring | |
tanModeIdPflichtstring |
Antworten
default
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes/42/media \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes/42/media', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes/42/media"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes/42/media', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes/42/media"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes/42/media")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/tan-modes/42/media"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.getTanMedia(42, 42);
if (result.success) {
print(result.data);
}Anmeldung mit Zugangsdaten testen (gibt Konten zurück)
POST/api/hbci/credentials/{identifier}/login
Pfad-Parameter
identifierPflichtstring |
Antworten
default
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials/42/login \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials/42/login', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/login"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/credentials/42/login', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/login"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/login")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/login"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.login(42);
if (result.success) {
print(result.data);
}Kontoauszüge für Zugangsdaten abrufen
POST/api/hbci/credentials/{identifier}/fetch-statements
Pfad-Parameter
identifierPflichtstring |
Antworten
default
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/credentials/42/fetch-statements \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/credentials/42/fetch-statements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/fetch-statements"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/credentials/42/fetch-statements', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/fetch-statements"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/credentials/42/fetch-statements")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/credentials/42/fetch-statements"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.fetchStatements(42);
if (result.success) {
print(result.data);
}TAN für ausstehende Sitzung übermitteln
POST/api/hbci/sessions/{sessionToken}/submit-tan
Pfad-Parameter
sessionTokenPflichtstring |
Antworten
default
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/sessions/42/submit-tan \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/sessions/42/submit-tan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/sessions/42/submit-tan"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/sessions/42/submit-tan', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/sessions/42/submit-tan"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/sessions/42/submit-tan")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/sessions/42/submit-tan"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.submitTan('42', '…');
if (result.success) {
print(result.data);
}Status der entkoppelten Authentifizierung prüfen
GET/api/hbci/sessions/{sessionToken}/check-decoupled
Pfad-Parameter
sessionTokenPflichtstring |
Antworten
default
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/sessions/42/check-decoupled \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/sessions/42/check-decoupled', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/sessions/42/check-decoupled"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/sessions/42/check-decoupled', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/sessions/42/check-decoupled"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/sessions/42/check-decoupled")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/sessions/42/check-decoupled"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.checkDecoupled('42');
if (result.success) {
print(result.data);
}Sitzungsstatus abrufen
GET/api/hbci/sessions/{sessionToken}
Pfad-Parameter
sessionTokenPflichtstring |
Antworten
200Liefert den HBCI-Sitzungsstatus.HbciSession
Felder anzeigen (13)
idintegerPrimärschlüssel der HBCI-Sitzung. Interne ID.
hbci_credentialHbciCredential3HBCI-Zugangsdaten, die für die Sitzung verwendet werden.
Felder anzeigen (17)
idintegerPrimärschlüssel der HBCI-Zugangsdaten. Interne ID.
bank_dataHbciBankDataBankdaten der Zugangsdaten.
enabledbooleanDer Zugang ist aktiviert.
usernamestringAnmeldename bei der Bank.
tan_mode_idintegerID des TAN-Modus, der bei der Bank ausgewählt wurde.
tan_mode_namestringName des TAN-Verfahrens.
tan_medium_namestringName des TAN-Mediums.
last_syncstring (date-time)Zeitpunkt der letzten Synchronisation.
last_sync_errorstringFehler der letzten Synchronisation.
auto_import_enabledbooleanDer automatische Import von Banktransaktionen ist aktiviert.
last_auto_import_atstring (date-time)Zeitpunkt des letzten automatischen Imports.
auto_import_statusstringStatus des letzten automatischen Imports.
auto_import_messagestringMeldung des letzten automatischen Imports.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
session_tokenstringToken der Sitzung.
statusstringStatus der Sitzung, zum Beispiel laufend, wartet auf TAN oder erledigt.
action_typestringAktion der Sitzung, zum Beispiel Transaktionen abrufen oder Zahlung senden.
tan_challengestringTAN-Challenge-Text, der dem Benutzer angezeigt wird.
tan_challenge_imagestringTAN-Challenge-Bild, zum Beispiel für chipTAN.
tan_challenge_image_mimestringMIME-Typ des TAN-Challenge-Bildes.
is_decoupledbooleanDie TAN wird in der Banking-App bestätigt.
expires_atstring (date-time)Zeitpunkt, zu dem die Sitzung abläuft.
error_messagestringFehlermeldung der Sitzung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/sessions/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/sessions/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/sessions/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/sessions/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/sessions/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/sessions/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/sessions/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciController.getSession('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"hbci_credential": {
"id": 42,
"username": "lena.hartmann@example.org",
"tan_mode_name": "Beispiel",
"tan_medium_name": "Beispiel",
"name": "Beispiel",
"bank_data": {
"id": 42,
"bic": "BYLADEM1001",
"institute_name": "Beispiel",
"city": "Hannover",
"hbci_url": "https://vynst.de",
"pin_tan_url": "https://vynst.de",
"blz": "string",
"organization": "string",
"fints_version": "string"
},
"enabled": true,
"tan_mode_id": 42,
"last_sync": "2026-10-15T09:30:00+02:00",
"last_sync_error": "string"
},
"session_token": "string",
"status": "string",
"action_type": "string",
"tan_challenge": "string",
"tan_challenge_image": "string",
"tan_challenge_image_mime": "string",
"is_decoupled": true,
"expires_at": "2026-10-15T09:30:00+02:00"
}HBCI-Zahlungseinreichungen auflisten (neueste zuerst)
GET/api/hbci/payment_submission
Query-Parameter
idstring | |
typestring | |
statusstring | |
batchKeystring | |
executionNamestring | |
billingPaymentProfilestring | |
hbciCredentialstring | |
requestedDatestring | |
createdstring | |
updatedstring | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste der HBCI-Zahlungseinreichungen.array<HbciPaymentSubmission>
Felder anzeigen (35)
total_amountnumber (float)billing_payment_profile_idintegerhbci_credential_idintegersession_tokenstringtan_challengestringis_decoupledbooleanprepared_by_idintegerprepared_by_namestringapproved_by_namestringresolved_by_namestringhas_blocking_warningsbooleanidintegerPrimärschlüssel der Zahlungseinreichung. Interne ID.
typestringArt der Einreichung, zum Beispiel Lastschrift oder Überweisung.
statusstringStatus der Einreichung, zum Beispiel vorbereitet, genehmigt oder versendet.
batch_keystringSchlüssel des Stapels, zu dem die Einreichung gehört.
execution_namestringName der Ausführung.
pain_formatstringFormat der SEPA-Datei, zum Beispiel pain.008.
pain_xml_hashstringHash der SEPA-XML-Datei.
transaction_countintegerAnzahl der Transaktionen in der Einreichung.
total_centsintegerGesamtbetrag der Einreichung in Cent.
requested_datestring (date-time)Gewünschtes Ausführungsdatum.
sequence_typestringSequenztyp der Lastschriften, zum Beispiel erstmalig oder wiederkehrend.
own_ibanstringIBAN des Gläubigers.
own_namestringName des Gläubigers.
creditor_idstringGläubiger-ID des Gläubigers.
order_sentbooleanDer Auftrag wurde an die Bank gesendet.
tan_submittedbooleanDie TAN für die Übermittlung wurde eingegeben.
error_messagestringFehlermeldung der Einreichung.
approved_atstring (date-time)Zeitpunkt, zu dem die Einreichung genehmigt wurde.
submitted_atstring (date-time)Zeitpunkt, zu dem die Einreichung an die Bank übermittelt wurde.
resolutionstringErgebnis der Einreichung.
resolution_notestringAnmerkung zur Erledigung der Einreichung.
resolved_atstring (date-time)Zeitpunkt, zu dem die Einreichung erledigt wurde.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/payment_submission \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/payment_submission', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/payment_submission"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/payment_submission', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/payment_submission"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/payment_submission")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/payment_submission"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_payment_submission_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciPaymentSubmissionController.getAll();
if (result.success) {
print(result.data);
}[
{
"prepared_by_name": "Beispiel",
"approved_by_name": "Beispiel",
"resolved_by_name": "Beispiel",
"id": 42,
"execution_name": "Beispiel",
"own_iban": "DE02120300000000202051",
"own_name": "Beispiel",
"total_amount": 49.9,
"billing_payment_profile_id": 42,
"hbci_credential_id": 42
}
]Übermittlung eines SEPA-Laufs vorbereiten (Schritt 1 des Vier-Augen-Prinzips). Es wird nichts an die Bank gesendet.
POST/api/hbci/payment_submission/action/prepare
Body: name (Lauf-Name), payment_profile (ID, optional), type (direct_debit|donation_direct_debit|credit_transfer, optional – aus dem Lauf-Namen abgeleitet), credential (HbciCredential-ID, optional), requested_date (Y-m-d, optional)
Query-Parameter
idstring | |
typestring | |
statusstring | |
batchKeystring | |
executionNamestring | |
billingPaymentProfilestring | |
hbciCredentialstring | |
requestedDatestring | |
createdstring | |
updatedstring | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Die vorbereiteten Entwürfe, einer pro Zahlungsgruppearray<HbciPaymentSubmission>
Felder anzeigen (35)
total_amountnumber (float)billing_payment_profile_idintegerhbci_credential_idintegersession_tokenstringtan_challengestringis_decoupledbooleanprepared_by_idintegerprepared_by_namestringapproved_by_namestringresolved_by_namestringhas_blocking_warningsbooleanidintegerPrimärschlüssel der Zahlungseinreichung. Interne ID.
typestringArt der Einreichung, zum Beispiel Lastschrift oder Überweisung.
statusstringStatus der Einreichung, zum Beispiel vorbereitet, genehmigt oder versendet.
batch_keystringSchlüssel des Stapels, zu dem die Einreichung gehört.
execution_namestringName der Ausführung.
pain_formatstringFormat der SEPA-Datei, zum Beispiel pain.008.
pain_xml_hashstringHash der SEPA-XML-Datei.
transaction_countintegerAnzahl der Transaktionen in der Einreichung.
total_centsintegerGesamtbetrag der Einreichung in Cent.
requested_datestring (date-time)Gewünschtes Ausführungsdatum.
sequence_typestringSequenztyp der Lastschriften, zum Beispiel erstmalig oder wiederkehrend.
own_ibanstringIBAN des Gläubigers.
own_namestringName des Gläubigers.
creditor_idstringGläubiger-ID des Gläubigers.
order_sentbooleanDer Auftrag wurde an die Bank gesendet.
tan_submittedbooleanDie TAN für die Übermittlung wurde eingegeben.
error_messagestringFehlermeldung der Einreichung.
approved_atstring (date-time)Zeitpunkt, zu dem die Einreichung genehmigt wurde.
submitted_atstring (date-time)Zeitpunkt, zu dem die Einreichung an die Bank übermittelt wurde.
resolutionstringErgebnis der Einreichung.
resolution_notestringAnmerkung zur Erledigung der Einreichung.
resolved_atstring (date-time)Zeitpunkt, zu dem die Einreichung erledigt wurde.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/payment_submission/action/prepare \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/action/prepare', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/action/prepare"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/payment_submission/action/prepare', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/action/prepare"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/action/prepare")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/action/prepare"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_payment_submission_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciPaymentSubmissionController.prepare(name: '…');
if (result.success) {
print(result.data);
}[
{
"prepared_by_name": "Beispiel",
"approved_by_name": "Beispiel",
"resolved_by_name": "Beispiel",
"id": 42,
"execution_name": "Beispiel",
"own_iban": "DE02120300000000202051",
"own_name": "Beispiel",
"total_amount": 49.9,
"billing_payment_profile_id": 42,
"hbci_credential_id": 42
}
]Einzelne HBCI-Zahlungseinreichung mit der vollständigen Prüfung (alle Transaktionen und Befunde)
GET/api/hbci/payment_submission/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Liefert eine einzelne HBCI-Zahlungseinreichung.HbciPaymentSubmission
Felder anzeigen (35)
total_amountnumber (float)billing_payment_profile_idintegerhbci_credential_idintegersession_tokenstringtan_challengestringis_decoupledbooleanprepared_by_idintegerprepared_by_namestringapproved_by_namestringresolved_by_namestringhas_blocking_warningsbooleanidintegerPrimärschlüssel der Zahlungseinreichung. Interne ID.
typestringArt der Einreichung, zum Beispiel Lastschrift oder Überweisung.
statusstringStatus der Einreichung, zum Beispiel vorbereitet, genehmigt oder versendet.
batch_keystringSchlüssel des Stapels, zu dem die Einreichung gehört.
execution_namestringName der Ausführung.
pain_formatstringFormat der SEPA-Datei, zum Beispiel pain.008.
pain_xml_hashstringHash der SEPA-XML-Datei.
transaction_countintegerAnzahl der Transaktionen in der Einreichung.
total_centsintegerGesamtbetrag der Einreichung in Cent.
requested_datestring (date-time)Gewünschtes Ausführungsdatum.
sequence_typestringSequenztyp der Lastschriften, zum Beispiel erstmalig oder wiederkehrend.
own_ibanstringIBAN des Gläubigers.
own_namestringName des Gläubigers.
creditor_idstringGläubiger-ID des Gläubigers.
order_sentbooleanDer Auftrag wurde an die Bank gesendet.
tan_submittedbooleanDie TAN für die Übermittlung wurde eingegeben.
error_messagestringFehlermeldung der Einreichung.
approved_atstring (date-time)Zeitpunkt, zu dem die Einreichung genehmigt wurde.
submitted_atstring (date-time)Zeitpunkt, zu dem die Einreichung an die Bank übermittelt wurde.
resolutionstringErgebnis der Einreichung.
resolution_notestringAnmerkung zur Erledigung der Einreichung.
resolved_atstring (date-time)Zeitpunkt, zu dem die Einreichung erledigt wurde.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_payment_submission_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciPaymentSubmissionController.get(42);
if (result.success) {
print(result.data);
}{
"prepared_by_name": "Beispiel",
"approved_by_name": "Beispiel",
"resolved_by_name": "Beispiel",
"id": 42,
"execution_name": "Beispiel",
"own_iban": "DE02120300000000202051",
"own_name": "Beispiel",
"total_amount": 49.9,
"billing_payment_profile_id": 42,
"hbci_credential_id": 42
}Das pain-XML genau so, wie es an die Bank gesendet wird (oder wurde)
GET/api/hbci/payment_submission/{identifier}/xml
Pfad-Parameter
identifierPflichtstring |
Antworten
200XML-Datei pain.008 / pain.001
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.get(
Uri.parse('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/xml'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);Eine vorbereitete Einreichung genehmigen und an die Bank senden (Schritt 2, durch eine zweite Person)
POST/api/hbci/payment_submission/{identifier}/approve
Body: pain_xml_hash (der in der Prüfung angezeigte Hash), confirmed (true) Gibt das Ergebnis des Bankschritts (needs_tan, session_token, ...) und die aktualisierte Einreichung zurück.
Pfad-Parameter
identifierPflichtstring |
Antworten
200Ergebnis des Bankdialogs und der Einreichung.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/approve \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/approve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/approve"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/approve', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/approve"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/approve")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/approve"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/hbci_payment_submission_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await HbciPaymentSubmissionController.approve(42, painXmlHash: '…', confirmed: true);
if (result.success) {
print(result.data);
}Entwurf zurückziehen oder die TAN-Eingabe abbrechen
POST/api/hbci/payment_submission/{identifier}/cancel
Pfad-Parameter
identifierPflichtstring |
Antworten
200Die stornierte EinreichungHbciPaymentSubmission
Felder anzeigen (35)
total_amountnumber (float)billing_payment_profile_idintegerhbci_credential_idintegersession_tokenstringtan_challengestringis_decoupledbooleanprepared_by_idintegerprepared_by_namestringapproved_by_namestringresolved_by_namestringhas_blocking_warningsbooleanidintegerPrimärschlüssel der Zahlungseinreichung. Interne ID.
typestringArt der Einreichung, zum Beispiel Lastschrift oder Überweisung.
statusstringStatus der Einreichung, zum Beispiel vorbereitet, genehmigt oder versendet.
batch_keystringSchlüssel des Stapels, zu dem die Einreichung gehört.
execution_namestringName der Ausführung.
pain_formatstringFormat der SEPA-Datei, zum Beispiel pain.008.
pain_xml_hashstringHash der SEPA-XML-Datei.
transaction_countintegerAnzahl der Transaktionen in der Einreichung.
total_centsintegerGesamtbetrag der Einreichung in Cent.
requested_datestring (date-time)Gewünschtes Ausführungsdatum.
sequence_typestringSequenztyp der Lastschriften, zum Beispiel erstmalig oder wiederkehrend.
own_ibanstringIBAN des Gläubigers.
own_namestringName des Gläubigers.
creditor_idstringGläubiger-ID des Gläubigers.
order_sentbooleanDer Auftrag wurde an die Bank gesendet.
tan_submittedbooleanDie TAN für die Übermittlung wurde eingegeben.
error_messagestringFehlermeldung der Einreichung.
approved_atstring (date-time)Zeitpunkt, zu dem die Einreichung genehmigt wurde.
submitted_atstring (date-time)Zeitpunkt, zu dem die Einreichung an die Bank übermittelt wurde.
resolutionstringErgebnis der Einreichung.
resolution_notestringAnmerkung zur Erledigung der Einreichung.
resolved_atstring (date-time)Zeitpunkt, zu dem die Einreichung erledigt wurde.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/cancel'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"prepared_by_name": "Beispiel",
"approved_by_name": "Beispiel",
"resolved_by_name": "Beispiel",
"id": 42,
"execution_name": "Beispiel",
"own_iban": "DE02120300000000202051",
"own_name": "Beispiel",
"total_amount": 49.9,
"billing_payment_profile_id": 42,
"hbci_credential_id": 42
}Eine Einreichung auflösen, deren Ergebnis nach Prüfung des Online-Bankings unbekannt ist.
POST/api/hbci/payment_submission/{identifier}/resolve
Body: resolution (executed|not_executed), note (optional, Notiz)
Pfad-Parameter
identifierPflichtstring |
Antworten
200Die aufgelöste EinreichungHbciPaymentSubmission
Felder anzeigen (35)
total_amountnumber (float)billing_payment_profile_idintegerhbci_credential_idintegersession_tokenstringtan_challengestringis_decoupledbooleanprepared_by_idintegerprepared_by_namestringapproved_by_namestringresolved_by_namestringhas_blocking_warningsbooleanidintegerPrimärschlüssel der Zahlungseinreichung. Interne ID.
typestringArt der Einreichung, zum Beispiel Lastschrift oder Überweisung.
statusstringStatus der Einreichung, zum Beispiel vorbereitet, genehmigt oder versendet.
batch_keystringSchlüssel des Stapels, zu dem die Einreichung gehört.
execution_namestringName der Ausführung.
pain_formatstringFormat der SEPA-Datei, zum Beispiel pain.008.
pain_xml_hashstringHash der SEPA-XML-Datei.
transaction_countintegerAnzahl der Transaktionen in der Einreichung.
total_centsintegerGesamtbetrag der Einreichung in Cent.
requested_datestring (date-time)Gewünschtes Ausführungsdatum.
sequence_typestringSequenztyp der Lastschriften, zum Beispiel erstmalig oder wiederkehrend.
own_ibanstringIBAN des Gläubigers.
own_namestringName des Gläubigers.
creditor_idstringGläubiger-ID des Gläubigers.
order_sentbooleanDer Auftrag wurde an die Bank gesendet.
tan_submittedbooleanDie TAN für die Übermittlung wurde eingegeben.
error_messagestringFehlermeldung der Einreichung.
approved_atstring (date-time)Zeitpunkt, zu dem die Einreichung genehmigt wurde.
submitted_atstring (date-time)Zeitpunkt, zu dem die Einreichung an die Bank übermittelt wurde.
resolutionstringErgebnis der Einreichung.
resolution_notestringAnmerkung zur Erledigung der Einreichung.
resolved_atstring (date-time)Zeitpunkt, zu dem die Einreichung erledigt wurde.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('https://eure-instanz.iw-erp.de/api/hbci/payment_submission/42/resolve'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"prepared_by_name": "Beispiel",
"approved_by_name": "Beispiel",
"resolved_by_name": "Beispiel",
"id": 42,
"execution_name": "Beispiel",
"own_iban": "DE02120300000000202051",
"own_name": "Beispiel",
"total_amount": 49.9,
"billing_payment_profile_id": 42,
"hbci_credential_id": 42
}