Create interceptor
Creates an interceptor — a transparent proxy that maps an acquirer request into a decision and is invoked at runtime by its reference.
curl --request POST \
--url https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"context": "checkout",
"destination": {
"url": "https://checkout-live.adyen.com/v71/payments",
"timeout_ms": 10000
},
"active": true,
"description": "Intercept Adyen card auth requests",
"field_mapping": [
{}
],
"responses": {}
}
'import requests
url = "https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors"
payload = {
"context": "checkout",
"destination": {
"url": "https://checkout-live.adyen.com/v71/payments",
"timeout_ms": 10000
},
"active": True,
"description": "Intercept Adyen card auth requests",
"field_mapping": [{}],
"responses": {}
}
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({
context: 'checkout',
destination: {url: 'https://checkout-live.adyen.com/v71/payments', timeout_ms: 10000},
active: true,
description: 'Intercept Adyen card auth requests',
field_mapping: [{}],
responses: {}
})
};
fetch('https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors', 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://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors",
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([
'context' => 'checkout',
'destination' => [
'url' => 'https://checkout-live.adyen.com/v71/payments',
'timeout_ms' => 10000
],
'active' => true,
'description' => 'Intercept Adyen card auth requests',
'field_mapping' => [
[
]
],
'responses' => [
]
]),
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://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors"
payload := strings.NewReader("{\n \"context\": \"checkout\",\n \"destination\": {\n \"url\": \"https://checkout-live.adyen.com/v71/payments\",\n \"timeout_ms\": 10000\n },\n \"active\": true,\n \"description\": \"Intercept Adyen card auth requests\",\n \"field_mapping\": [\n {}\n ],\n \"responses\": {}\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://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"context\": \"checkout\",\n \"destination\": {\n \"url\": \"https://checkout-live.adyen.com/v71/payments\",\n \"timeout_ms\": 10000\n },\n \"active\": true,\n \"description\": \"Intercept Adyen card auth requests\",\n \"field_mapping\": [\n {}\n ],\n \"responses\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors")
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 \"context\": \"checkout\",\n \"destination\": {\n \"url\": \"https://checkout-live.adyen.com/v71/payments\",\n \"timeout_ms\": 10000\n },\n \"active\": true,\n \"description\": \"Intercept Adyen card auth requests\",\n \"field_mapping\": [\n {}\n ],\n \"responses\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"context": "<string>",
"description": "<string>",
"destination": {
"timeout_ms": 30000,
"url": "https://checkout.example.com/payments"
},
"discovered_keys": [
{
"key": "<string>",
"type": "<string>"
}
],
"field_mapping": [
{}
],
"inserted_at": "2023-11-07T05:31:56Z",
"ref": "<string>",
"responses": {},
"updated_at": "2023-11-07T05:31:56Z",
"version": 123
}{
"classifier": "NOT_FOUND",
"code": 404,
"message": "The requested resource does not exist"
}{
"classifier": "NOT_FOUND",
"code": 404,
"message": "The requested resource does not exist"
}{
"classifier": "VALIDATION_ERROR",
"code": 422,
"validation_errors": [
{
"message": "must be a positive integer",
"path": "limit"
}
]
}Authorizations
HS256-signed JWT bearer token, obtained via the OAuth2 client-credentials grant (see Authentication).
Body
Interceptor attributes
Decision context (ruleset) to evaluate against
"checkout"
Show child attributes
Show child attributes
"Intercept Adyen card auth requests"
JSON Path extraction rules mapping inbound fields to decision request fields
Response configuration per decision outcome (block, review)
Response
Created interceptor
Show child attributes
Show child attributes
Typed JSONPath keys observed in intercepted requests. Used for field mapping discovery.
Show child attributes
Show child attributes
Stable identifier shared across all versions of this interceptor. Used as the path parameter for the runtime execute endpoint.
DRAFT, ACTIVE, INACTIVE curl --request POST \
--url https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"context": "checkout",
"destination": {
"url": "https://checkout-live.adyen.com/v71/payments",
"timeout_ms": 10000
},
"active": true,
"description": "Intercept Adyen card auth requests",
"field_mapping": [
{}
],
"responses": {}
}
'import requests
url = "https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors"
payload = {
"context": "checkout",
"destination": {
"url": "https://checkout-live.adyen.com/v71/payments",
"timeout_ms": 10000
},
"active": True,
"description": "Intercept Adyen card auth requests",
"field_mapping": [{}],
"responses": {}
}
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({
context: 'checkout',
destination: {url: 'https://checkout-live.adyen.com/v71/payments', timeout_ms: 10000},
active: true,
description: 'Intercept Adyen card auth requests',
field_mapping: [{}],
responses: {}
})
};
fetch('https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors', 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://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors",
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([
'context' => 'checkout',
'destination' => [
'url' => 'https://checkout-live.adyen.com/v71/payments',
'timeout_ms' => 10000
],
'active' => true,
'description' => 'Intercept Adyen card auth requests',
'field_mapping' => [
[
]
],
'responses' => [
]
]),
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://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors"
payload := strings.NewReader("{\n \"context\": \"checkout\",\n \"destination\": {\n \"url\": \"https://checkout-live.adyen.com/v71/payments\",\n \"timeout_ms\": 10000\n },\n \"active\": true,\n \"description\": \"Intercept Adyen card auth requests\",\n \"field_mapping\": [\n {}\n ],\n \"responses\": {}\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://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"context\": \"checkout\",\n \"destination\": {\n \"url\": \"https://checkout-live.adyen.com/v71/payments\",\n \"timeout_ms\": 10000\n },\n \"active\": true,\n \"description\": \"Intercept Adyen card auth requests\",\n \"field_mapping\": [\n {}\n ],\n \"responses\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instance}.{env}.on-hellgate.cloud/api/admin/interceptors")
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 \"context\": \"checkout\",\n \"destination\": {\n \"url\": \"https://checkout-live.adyen.com/v71/payments\",\n \"timeout_ms\": 10000\n },\n \"active\": true,\n \"description\": \"Intercept Adyen card auth requests\",\n \"field_mapping\": [\n {}\n ],\n \"responses\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"context": "<string>",
"description": "<string>",
"destination": {
"timeout_ms": 30000,
"url": "https://checkout.example.com/payments"
},
"discovered_keys": [
{
"key": "<string>",
"type": "<string>"
}
],
"field_mapping": [
{}
],
"inserted_at": "2023-11-07T05:31:56Z",
"ref": "<string>",
"responses": {},
"updated_at": "2023-11-07T05:31:56Z",
"version": 123
}{
"classifier": "NOT_FOUND",
"code": 404,
"message": "The requested resource does not exist"
}{
"classifier": "NOT_FOUND",
"code": 404,
"message": "The requested resource does not exist"
}{
"classifier": "VALIDATION_ERROR",
"code": 422,
"validation_errors": [
{
"message": "must be a positive integer",
"path": "limit"
}
]
}