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
jtiis the same value asasiandtransaction_id(used elsewhere.)jtiis used in conformance with the OpenID Connect standard. policyDecisionis 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
policyDecisionofapproveat the top level of the JSON.
Updated 5 months ago
