EndUsers
Get an end user's fraud network scan
Returns the last fraud network scan for a submission: whether the identity it stated matches
Heron's fraud network, and Heron's business-only conclusions in `features`. People, ring size,
member data, amounts and dates are never returned, so `network`, `match_meta`,
`matched_node_heron_id`, `businesses`, `people` and `edges` are always empty.
To test the integration, first `POST /end_users` with
`{"end_user":{"end_user_id":"sandbox-fraud-test-001",
"name":"HERON SANDBOX FRAUD RING LLC"}}`. Use an unused `end_user_id`. Before the workflow
runs the enrichers, `PATCH /end_users/<heron_id>/end_user_information` with
`{"company_legal_business_name":"HERON SANDBOX FRAUD RING LLC","owner_1":
{"first_name":"HERON SANDBOX","last_name":"FRAUD RING"}}`. A parsed application form can
supply the same identity instead. Do not send an EIN or SSN.
This endpoint returns `status=match`, `classification=fraud_network`, and the sample ring's
business-only conclusions in `features`. Read the sample velocity result from
`GET /end_user_enrichers/<heron_id>/enricher_results`: select `broker_velocity`, then read
`broker_velocity_signal`, which is `high`.
GET
/
api
/
end_users
/
{end_user_heron_id}
/
fraud_detection
/
fraud_network
Get an end user's fraud network scan
curl --request GET \
--url https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network \
--header 'x-api-key: <api-key>'import requests
url = "https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network', 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://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"businesses": [
{
"address": {
"city": "<string>",
"country": "<string>",
"is_po_box": true,
"line_1": "<string>",
"line_2": "<string>",
"postcode": "<string>",
"raw": "<string>",
"region": "<string>"
},
"evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"heron_id": "<string>",
"identifiers": [
{
"country": "<string>",
"type": "us_ein",
"value": "<string>",
"verified": "matched"
}
],
"names": [
{
"effective_from": "2023-12-25",
"effective_to": "2023-12-25",
"raw": "<string>",
"type": "legal"
}
],
"redacted": true,
"sightings": [
{
"end_user_heron_id": "<string>",
"seen_at": "2023-11-07T05:31:56Z",
"role": "owner_1"
}
],
"type_of_entity": "<string>"
}
],
"classification": "fraud_network",
"edges": [
{
"edge_type": "owner_of",
"evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"from_node_heron_id": "<string>",
"heron_id": "<string>",
"to_node_heron_id": "<string>"
}
],
"features": [
{
"confidence": "suspected",
"evidence": {
"business_heron_ids": [
"<string>"
],
"conclusion": "<string>",
"connects_to": "reported_default",
"distance": "this_business",
"evidence_kinds": [
"reported_default"
],
"link_type": "corporate_affiliation",
"links_away": 123,
"matched_on": [
"legal_name"
],
"money_link_in_your_statements": true
},
"subject": "<string>",
"type": "fraud_ring_association",
"value": "in_ring",
"visibility": "member"
}
],
"input_coverage": {
"address": true,
"dba": true,
"ein": true,
"legal_name": true,
"owner_name": true,
"owner_ssn": true
},
"match_meta": {
"distance_to_first_payment_default": 123,
"matched_fields": [
{
"key": "legal_name",
"subject": "business",
"value": "<string>"
}
],
"score": 123
},
"matched_node_heron_id": "<string>",
"monitoring_until": "2023-11-07T05:31:56Z",
"network": {
"first_payment_default_count": 123,
"heron_id": "<string>",
"mca_suit_member_count": 123,
"member_count": 123,
"reporting_member_count": 123
},
"not_run_reason": "<string>",
"people": [
{
"address": {
"city": "<string>",
"country": "<string>",
"is_po_box": true,
"line_1": "<string>",
"line_2": "<string>",
"postcode": "<string>",
"raw": "<string>",
"region": "<string>"
},
"evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"heron_id": "<string>",
"names": [
{
"given": "<string>",
"middle": "<string>",
"prefix": "<string>",
"raw": "<string>",
"suffix": "<string>",
"surname": "<string>",
"type": "legal"
}
],
"national_ids": [
{
"country": "<string>",
"expires_on": "2023-12-25",
"state": "<string>",
"type": "us_ssn",
"value": "<string>"
}
],
"redacted": true,
"sightings": [
{
"end_user_heron_id": "<string>",
"seen_at": "2023-11-07T05:31:56Z",
"role": "owner_1"
}
]
}
],
"ring_evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"ring_status": "suspected",
"scanned_at": "2023-11-07T05:31:56Z",
"status": "match",
"summary": {
"headline": "<string>",
"matched_on": "<string>",
"network": "<string>",
"seen_elsewhere": "<string>",
"this_business": "<string>",
"why_listed": "<string>"
}
}Authorizations
Path Parameters
The Heron ID of the end user
Response
OK
Show child attributes
Show child attributes
Available options:
fraud_network, lone_actor, null Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
suspected, confirmed_fraud, null Available options:
match, no_match, insufficient_input Show child attributes
Show child attributes
Was this page helpful?
⌘I
Get an end user's fraud network scan
curl --request GET \
--url https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network \
--header 'x-api-key: <api-key>'import requests
url = "https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network', 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://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.herondata.io/api/end_users/{end_user_heron_id}/fraud_detection/fraud_network")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"businesses": [
{
"address": {
"city": "<string>",
"country": "<string>",
"is_po_box": true,
"line_1": "<string>",
"line_2": "<string>",
"postcode": "<string>",
"raw": "<string>",
"region": "<string>"
},
"evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"heron_id": "<string>",
"identifiers": [
{
"country": "<string>",
"type": "us_ein",
"value": "<string>",
"verified": "matched"
}
],
"names": [
{
"effective_from": "2023-12-25",
"effective_to": "2023-12-25",
"raw": "<string>",
"type": "legal"
}
],
"redacted": true,
"sightings": [
{
"end_user_heron_id": "<string>",
"seen_at": "2023-11-07T05:31:56Z",
"role": "owner_1"
}
],
"type_of_entity": "<string>"
}
],
"classification": "fraud_network",
"edges": [
{
"edge_type": "owner_of",
"evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"from_node_heron_id": "<string>",
"heron_id": "<string>",
"to_node_heron_id": "<string>"
}
],
"features": [
{
"confidence": "suspected",
"evidence": {
"business_heron_ids": [
"<string>"
],
"conclusion": "<string>",
"connects_to": "reported_default",
"distance": "this_business",
"evidence_kinds": [
"reported_default"
],
"link_type": "corporate_affiliation",
"links_away": 123,
"matched_on": [
"legal_name"
],
"money_link_in_your_statements": true
},
"subject": "<string>",
"type": "fraud_ring_association",
"value": "in_ring",
"visibility": "member"
}
],
"input_coverage": {
"address": true,
"dba": true,
"ein": true,
"legal_name": true,
"owner_name": true,
"owner_ssn": true
},
"match_meta": {
"distance_to_first_payment_default": 123,
"matched_fields": [
{
"key": "legal_name",
"subject": "business",
"value": "<string>"
}
],
"score": 123
},
"matched_node_heron_id": "<string>",
"monitoring_until": "2023-11-07T05:31:56Z",
"network": {
"first_payment_default_count": 123,
"heron_id": "<string>",
"mca_suit_member_count": 123,
"member_count": 123,
"reporting_member_count": 123
},
"not_run_reason": "<string>",
"people": [
{
"address": {
"city": "<string>",
"country": "<string>",
"is_po_box": true,
"line_1": "<string>",
"line_2": "<string>",
"postcode": "<string>",
"raw": "<string>",
"region": "<string>"
},
"evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"heron_id": "<string>",
"names": [
{
"given": "<string>",
"middle": "<string>",
"prefix": "<string>",
"raw": "<string>",
"suffix": "<string>",
"surname": "<string>",
"type": "legal"
}
],
"national_ids": [
{
"country": "<string>",
"expires_on": "2023-12-25",
"state": "<string>",
"type": "us_ssn",
"value": "<string>"
}
],
"redacted": true,
"sightings": [
{
"end_user_heron_id": "<string>",
"seen_at": "2023-11-07T05:31:56Z",
"role": "owner_1"
}
]
}
],
"ring_evidence": [
{
"detail": {},
"heron_id": "<string>",
"kind": "customer_reported_fraud",
"occurred_at": "2023-12-25",
"source": "court_records"
}
],
"ring_status": "suspected",
"scanned_at": "2023-11-07T05:31:56Z",
"status": "match",
"summary": {
"headline": "<string>",
"matched_on": "<string>",
"network": "<string>",
"seen_elsewhere": "<string>",
"this_business": "<string>",
"why_listed": "<string>"
}
}