Create session
Create an account-check session and receive a session ID.
Hand the session ID to your frontend and initialize the Web SDK with it; the SDK redirects the shopper to their bank to complete the check.
The service is selected by the request path — there is no type field.
curl --request POST \
--url https://api.{env}.hellgate.cloud/api/services/account-information \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"market": "DE",
"redirect_urls": {
"success": "https://shop.example/verify/success",
"failure": "https://shop.example/verify/failure"
},
"account_identifier": {
"iban": "DE89370400440532013000"
}
}
'import requests
url = "https://api.{env}.hellgate.cloud/api/services/account-information"
payload = {
"market": "DE",
"redirect_urls": {
"success": "https://shop.example/verify/success",
"failure": "https://shop.example/verify/failure"
},
"account_identifier": { "iban": "DE89370400440532013000" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
market: 'DE',
redirect_urls: {
success: 'https://shop.example/verify/success',
failure: 'https://shop.example/verify/failure'
},
account_identifier: {iban: 'DE89370400440532013000'}
})
};
fetch('https://api.{env}.hellgate.cloud/api/services/account-information', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.{env}.hellgate.cloud/api/services/account-information",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'market' => 'DE',
'redirect_urls' => [
'success' => 'https://shop.example/verify/success',
'failure' => 'https://shop.example/verify/failure'
],
'account_identifier' => [
'iban' => 'DE89370400440532013000'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.{env}.hellgate.cloud/api/services/account-information"
payload := strings.NewReader("{\n \"market\": \"DE\",\n \"redirect_urls\": {\n \"success\": \"https://shop.example/verify/success\",\n \"failure\": \"https://shop.example/verify/failure\"\n },\n \"account_identifier\": {\n \"iban\": \"DE89370400440532013000\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <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))
}HttpResponse<String> response = Unirest.post("https://api.{env}.hellgate.cloud/api/services/account-information")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"market\": \"DE\",\n \"redirect_urls\": {\n \"success\": \"https://shop.example/verify/success\",\n \"failure\": \"https://shop.example/verify/failure\"\n },\n \"account_identifier\": {\n \"iban\": \"DE89370400440532013000\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.{env}.hellgate.cloud/api/services/account-information")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"market\": \"DE\",\n \"redirect_urls\": {\n \"success\": \"https://shop.example/verify/success\",\n \"failure\": \"https://shop.example/verify/failure\"\n },\n \"account_identifier\": {\n \"iban\": \"DE89370400440532013000\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3f7c1e9a-2b4d-4c6e-8a1f-9d0b2c3e4f56"
}{
"code": "tenant_not_enabled",
"message": "The Account Information Service is not enabled for this tenant."
}{
"code": "tenant_not_enabled",
"message": "The Account Information Service is not enabled for this tenant."
}{
"code": "tenant_not_enabled",
"message": "The Account Information Service is not enabled for this tenant."
}Authorizations
An Account Information–scoped OAuth2 access token obtained from the platform Authentication API. Send it as a bearer token on every request.
Body
ISO 3166-1 alpha-2 country code of the market the shopper banks in. Determines bank coverage for the check.
"DE"
Where the shopper's browser lands after the bank step.
Show child attributes
Show child attributes
Optional. If you already know the shopper's account, supply it to pre-bind the bank and let the shopper skip ahead. Keyed by identifier type. Treated as personal data under the same retention controls as the rest of the attempt.
Show child attributes
Show child attributes
Response
The session was created.
The session ID — a short-lived, client-shareable secret. Initialize the Web SDK with it.
"3f7c1e9a-2b4d-4c6e-8a1f-9d0b2c3e4f56"
curl --request POST \
--url https://api.{env}.hellgate.cloud/api/services/account-information \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"market": "DE",
"redirect_urls": {
"success": "https://shop.example/verify/success",
"failure": "https://shop.example/verify/failure"
},
"account_identifier": {
"iban": "DE89370400440532013000"
}
}
'import requests
url = "https://api.{env}.hellgate.cloud/api/services/account-information"
payload = {
"market": "DE",
"redirect_urls": {
"success": "https://shop.example/verify/success",
"failure": "https://shop.example/verify/failure"
},
"account_identifier": { "iban": "DE89370400440532013000" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
market: 'DE',
redirect_urls: {
success: 'https://shop.example/verify/success',
failure: 'https://shop.example/verify/failure'
},
account_identifier: {iban: 'DE89370400440532013000'}
})
};
fetch('https://api.{env}.hellgate.cloud/api/services/account-information', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.{env}.hellgate.cloud/api/services/account-information",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'market' => 'DE',
'redirect_urls' => [
'success' => 'https://shop.example/verify/success',
'failure' => 'https://shop.example/verify/failure'
],
'account_identifier' => [
'iban' => 'DE89370400440532013000'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.{env}.hellgate.cloud/api/services/account-information"
payload := strings.NewReader("{\n \"market\": \"DE\",\n \"redirect_urls\": {\n \"success\": \"https://shop.example/verify/success\",\n \"failure\": \"https://shop.example/verify/failure\"\n },\n \"account_identifier\": {\n \"iban\": \"DE89370400440532013000\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <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))
}HttpResponse<String> response = Unirest.post("https://api.{env}.hellgate.cloud/api/services/account-information")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"market\": \"DE\",\n \"redirect_urls\": {\n \"success\": \"https://shop.example/verify/success\",\n \"failure\": \"https://shop.example/verify/failure\"\n },\n \"account_identifier\": {\n \"iban\": \"DE89370400440532013000\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.{env}.hellgate.cloud/api/services/account-information")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"market\": \"DE\",\n \"redirect_urls\": {\n \"success\": \"https://shop.example/verify/success\",\n \"failure\": \"https://shop.example/verify/failure\"\n },\n \"account_identifier\": {\n \"iban\": \"DE89370400440532013000\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3f7c1e9a-2b4d-4c6e-8a1f-9d0b2c3e4f56"
}{
"code": "tenant_not_enabled",
"message": "The Account Information Service is not enabled for this tenant."
}{
"code": "tenant_not_enabled",
"message": "The Account Information Service is not enabled for this tenant."
}{
"code": "tenant_not_enabled",
"message": "The Account Information Service is not enabled for this tenant."
}