Federated Gateway Output
The Federated Gateway produces data in the following format:
{
"at_hash": "udfkrvnPivU4uE0BYeUcXA",
"sub": "[email protected]",
"aud": "18976aa43dca4b4e",
"endpoint": {
"status": "success",
"errorCode": "",
"errorDescription": "",
"credential": "[email protected]",
"credentialCreationDate": "02/08/2022 21:09:35 UTC",
"mbun": "f3f2a548-6c67-4155-8e30-bb1a28c84647",
"maxToken": "EnMbLwzgyefV3dndx9d5r1C-iEyZ8PpRhuIeIFlGpIE",
"endpointInstanceList": [
//details of each step (api key) in verification workflow
]
},
"policyDecision": "approve",
"idwRiskScore": "100",
"iss": "https://preprod1.iddataweb.com/preprod-axn",
"idwTrustScore": "100",
"exp": 1644355218,
"iat": 1644354618,
"jti": "008ab766-a58d-4489-b4cd-85188d2562d0"
}
Notes
- The 'sub' field is the same value as
credential
. sub is used in conformance with the OpenID Connect standard. - The
jti
is the same value asasi
andtransaction_id
(used elsewhere.)jti
is used in conformance with the OpenID Connect standard. policyDecision
is the overall decision after the workflow was complete, as described here.- Note - Policy decisions returned from the gateway will always be either APPROVE or DENY. Obligations are handled during the workflow to step up to other services.
- Note - Your policy can be customized via the AXN Admin portal. More information is available on the Policy Decisions page.
endpointInstanceList
The endpointInstanceList
is an array of JSON objects which describe each step of the verification process. For example - if your verification workflow contains 3 steps, you will see 3 objects in the endpointInstanceList
array.
The format of each object in the endpointInstanceList
is the following:
{
"apikey": "12345",
"userAttributes": [
//user attributes obtained from user during this step.
],
"preferenceAttributes": [
//preferences obtained from user (deprecated)
],
"userAssertionList": [
//Assertion results for each Attribute Provider.
],
"policyDecision": {
//Details on the decision made about a given user.
}
}
So, an example of a full output may be:
{
"at_hash": "udfkrvnPivU4uE0BYeUcXA",
"sub": "[email protected]",
"aud": "18976aa43dca4b4e",
"endpoint": {
"status": "success",
"errorCode": "",
"errorDescription": "",
"credential": "[email protected]",
"credentialCreationDate": "02/08/2022 21:09:35 UTC",
"mbun": "f3f2a548-6c67-4155-8e30-bb1a28c84647",
"maxToken": "EnMbLwzgyefV3dndx9d5r1C-iEyZ8PpRhuIeIFlGpIE",
"endpointInstanceList": [
{
"apikey": "12345",
"userAttributes": [
{
"attributeType": "Country",
"values": {
"country": "US"
},
"dateCreated": "02/08/2022 21:09:39 UTC"
}
],
"acquiredAttributes": [
{
"attributeType": "DeviceType",
"values": {
"deviceType": "desktop"
},
"dateCreated": "02/08/2022 21:09:40 UTC"
}
],
"preferenceAttributes": [],
"userAssertionList": [],
"policyDecision": {
"conclusion": "obligation",
"obligationApiKey": "55555",
"status": "success",
"selectedPolicyID": 20124,
"decisionDetail": "{}"
}
},
{
"apikey": "55555",
"userAttributes": [
{
"attributeType": "FullName",
"values": {
"fname": "daryl",
"lname": "johnson"
},
"dateCreated": "02/08/2022 21:09:55 UTC"
},
{
"attributeType": "InternationalAddress",
"values": {
"country": "US",
"locality": "Vienna",
"route": "main Ave",
"administrative_area_level_1": "VA",
"street_number": "2358",
"neighborhood": "The Main District",
"postal_code": "23444"
},
"dateCreated": "02/08/2022 21:09:55 UTC"
},
{
"attributeType": "InternationalTelephone",
"values": {
"dialCode": "1",
"telephone": "(123) 456-7890"
},
"dateCreated": "02/08/2022 21:09:55 UTC"
}
],
"acquiredAttributes": [
{
"attributeType": "AssertionScore",
"values": {
"assertionScore": "88"
},
"dateCreated": "02/08/2022 21:09:57 UTC"
}
],
"preferenceAttributes": [],
"userAssertionList": [
{
"provider": "Experian",
"serviceOffering": "Experian Precise ID",
"dateAsserted": "02/08/2022 21:09:55 UTC",
"assertions": {
"test.fraudulentActivityAddress": "pass",
"link.fullName_address": "pass",
"link.lastName_address": "pass",
"test.noAddressConflicts": "pass",
"test.address90DaysOld": "pass",
"test.fileOneAddressMatch": "pass",
"test.addressIsResidential": "pass",
"link.lastName_phone": "pass",
"link.phone_address": "pass"
}
},
{
"provider": "Boku",
"serviceOffering": "Boku - International Mobile Carrier Reverse Lookup",
"dateAsserted": "02/08/2022 21:09:57 UTC",
"assertions": {
"link.phone_zip": "pass",
"test.lastPortGT14days": "unverified",
"test.phone_landline_mobile_personal": "pass",
"test.phoneActive": "pass",
"test.lastPortGT30days": "unverified",
"link.lastName_phone": "pass",
"link.phone_state": "pass",
"link.phone_address": "pass",
"link.fullName_phone": "pass"
}
}
],
"policyDecision": {
"conclusion": "obligation",
"obligationApiKey": "7777",
"status": "success",
"selectedPolicyID": 12391,
"decisionDetail": "{}"
}
},
{
"apikey": "7777",
"userAttributes": [
{
"attributeType": "InternationalTelephone",
"values": {
"dialCode": "1",
"telephone": "(123) 456-7890"
},
"dateCreated": "02/08/2022 21:09:55 UTC"
},
{
"attributeType": "PINDeliveryPreference",
"values": {
"pindeliverypreference": "sms"
},
"dateCreated": "02/08/2022 21:10:03 UTC"
}
],
"acquiredAttributes": [
{
"attributeType": "RawAssertionScore",
"values": {
"rawAssertionScore": "1"
},
"dateCreated": "02/08/2022 21:10:17 UTC"
},
{
"attributeType": "AssertionScore",
"values": {
"assertionScore": "100"
},
"dateCreated": "02/08/2022 21:10:17 UTC"
},
{
"attributeType": "DeviceType",
"values": {
"deviceType": "desktop"
},
"dateCreated": "02/08/2022 21:10:18 UTC"
},
{
"attributeType": "IDWScore",
"values": {
"idwScore": "100"
},
"dateCreated": "02/08/2022 21:10:17 UTC"
}
],
"preferenceAttributes": [],
"userAssertionList": [
{
"provider": "IDDataWeb",
"serviceOffering": "IDDataWeb International Phone PIN Service",
"dateAsserted": "02/08/2022 21:10:17 UTC",
"assertions": {
"test.device": "pass"
}
}
],
"policyDecision": {
"conclusion": "approve",
"status": "success",
"selectedPolicyID": 12392,
"decisionDetail": "{}"
}
}
]
},
"policyDecision": "approve",
"idwRiskScore": "100",
"iss": "https://preprod1.iddataweb.com/preprod-axn",
"idwTrustScore": "100",
"exp": 1644355218,
"iat": 1644354618,
"jti": "008ab766-a58d-4489-b4cd-85188d2562d0"
}
In this example, you can follow the progress of the user through the objects in the endpointInstanceList
array.
- step 1 - selected country of US.
- step 2 - submitted PII, and was verified.
- step 3 - completed OTP phone possession check, which led to policyDecision of "approve" for that step. This led to the final
policyDecision
ofapprove
at the top level of the JSON.
Updated over 2 years ago