Third-party risk API contract

When the user's application evaluation request comes to IBM® Verify, the internal component inside the access policy framework evaluates the access policy object that is attached to the application. Then, it creates a payload toward third-party integration through the real-time webhooks.

Access policy webhooks request model

The access policy framework reads the enabled value for the config node. If the value is false, it skips the rule's processing, and does NOT invoke the third-party integration. Otherwise, the access policy rule is processed and the config node is processed.

Based on the evaluationOutboundAttributes defined in the config node, the internal Verify component sends the following data to the third party through the webhooks. That way it can get the risk, or their supported attribute values from their risk engine.

A sample of the data model, which Verify sends to the third party (through the webhooks internal API):

{
    "sessionContext": {
       ...
    },
    "attributeContext" :{
       ...
    },
    "policyContext" :{
       ...
    },
    "adaptiveContext" : {
        ...
    },
    "customAttributes" :  { 
        "customAttributeId1" : ["value"], 
        .. 
    },
    authnMethods : [...] 
}
Access policy framework for webhooks request details
Element Description
Payload type JSON object that represents request model.
sessionContext The user's subject attributes that are available inside Verify.
attributeContext The user's context attributes that are available inside Verify.
policyContext The access policy object attributes that are available inside Verify.
adaptiveContext The user's adaptive session attributes that are available inside Verify.
customAttributes The map of custom attributes IDs and list of values. They represent the custom attributes that are available for the Verify tenant. The custom attributes that are sent to the third party are derived from the list of customAttributes IDs that are specified as part of the third-party integration configuration.
authnMethods Verify known authentication factors defined in the access policy object that is being evaluated.

Webhooks for access policy response models

During the access policy object evaluation, after the Verify internal component sends the data payload to the third party through the webhooks, it receives the response from the third-party integration. The response includes version, supported attributes, key value pairs, and the result.

The response data model, which Verify receives from the third-party integration:

{
    "version" :"some version",
    "result": { 
        "action" : "any one of the Verify access policy actions.",
        "message" : "Reason why this decision was returned.",
        "authnMethods" : ["List of Verify authentication factors which the third party requires the user to complete. It must be the same, or a subset of the authnMethods sent to the third party via webhooks in the request."],
        "redirectURI" : "Verify relative or absolute URL to redirect the browser when additional information is required." 
    },
    "attributes": {
        "attrName1" : "value",
        "attrNameN" : "value",
    },
}
Webhooks access policy response details
Element Description
Payload type JSON object that represents response model.
HTTP status code See HTTP Status Code.
version Optional- Represents the third-party integration response version.
result Optional- Represents the third-party integration result. The third party can return a response with no result block and can return only their supported attributes. If the result object is present, then it must contain the decision field.
result.decision Mandatory- Represents the third-party integration decision and its value can contain one of the ISV access policy actions. The valid values are ACTION_DENY, ACTION_ALLOW, ACTION_MFA_ALWAYS, ACTION_MFA_PER_SESSION, ACTION_DENY_OVERRIDE, ACTION_MFA_OVERRIDE, ACTION_ALLOW_OVERRIDE, ACTION_DENY_AND_REDIRECT, ACTION_REDIRECT and ACTION_CONTINUE.
result.message Optional- Represents the third-party integration reason/message that why this action was returned.
result.authnMethods Optional- ["List of ISV authentication factors that the third party requires the user to complete. It must be the same, or a subset of the authnMethods sent to the third party through webhooks in the request."]
result.redirectURI Optional- Represents the endpoint that the browser must be redirected to in the case of ACTION_REDIRECT/ACTION_DENY_AND_REDIRECT or recoverable error flow. The query string parameter that is sent to the browser as a result of a redirect variant response has a Target. The client must be directed back to the Target after their required interaction with the client browser is completed.
attributes Optional- Represents the attributes (hash map) supported by the third-party integration.