---
title: LexisNexis DDP Reason Code node
description: The LexisNexis DDP Reason Code node analyzes the DDP Query response and routes the journey based on configured LexisNexis Dynamic Decision Platform policy reason codes.
component: auth-node-ref
version: latest
page_id: auth-node-ref:cloud:lexis-ddp-reason-code
canonical_url: https://docs.pingidentity.com/auth-node-ref/latest/cloud/lexis-ddp-reason-code.html
llms_txt: https://docs.pingidentity.com/auth-node-ref/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: 2026-09-17T14:22:55Z
keywords: ["Nodes &amp; Trees", "Journeys", "Authentication", "LexisNexis DDP", "Device Intelligence"]
page_aliases: ["threat-metrix-reason-code.adoc"]
section_ids:
  examples: Examples
  example_1_risk_assessment_journey: "Example 1: Risk assessment journey"
  example_2_one_time_passcode_otp_step_up_journey: "Example 2: One-time passcode (OTP) step-up journey"
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  outputs: Outputs
  callbacks: Callbacks
  outcomes: Outcomes
  errors: Errors
---

# LexisNexis DDP Reason Code node

The LexisNexis DDP Reason Code node analyzes the response from the [LexisNexis DDP Query node](lexis-ddp-query.html) and routes the journey based on the `reason_code` API response. The reason codes correspond to the policy rules you configure in the DDP portal. Reason codes are generally used when the four default outcomes of the LexisNexis DDP Review Status node are not sufficient for branching in the authentication journey. Often this node is used in place of the LexisNexis DDP Review Status node.

## Examples

### Example 1: Risk assessment journey

This example shows an authentication journey using the LexisNexis DDP Reason Code node for risk assessment:

![Sample LexisNexis DDP risk reason code journey](_images/ddp-risk-reason-code.png)

* The journey starts with a Page node to capture username and password. Simultaneously, the [LexisNexis DDP Profiler node](lexis-ddp-profiler.html) captures device intelligence information associated with a unique session ID.

* The LexisNexis DDP Query node uses the session ID, along with user personally identifiable information (PII), to make an API call to the DDP for risk assessment.

* Risk assessment is performed at the DDP to capture suspicious activity.

* The result of the risk assessment is captured as an API response in the journey.

* The LexisNexis DDP Reason Code node interprets the API risk assessment response.

* The possible outcomes to continue the journey are `Pass`, `Challenge`, `Safari`, `Firefox`, `Error`, or `None Triggered`.

* The `Challenge`, `Safari`, and `Firefox` outcomes start a step-up second factor authentication.

* Regardless of the step-up authentication, the LexisNexis DDP Update Review node adds truth data to the login event, which enriches the information in the network and enhances fraud detection.

  |   |                                                                                                                                                                                                             |
  | - | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  |   | The example shows initialization of step-up MFA along with an outcome of either pass or fail.A step-up authentication that's initialized but not completed is a sign of potential fraud in the login event. |

### Example 2: One-time passcode (OTP) step-up journey

This example shows a one-time passcode (OTP) step-up journey with retrospective truth data through the LexisNexis DDP Update Review node. The journey is called from an inner tree evaluator node in another journey that performs the DDP risk assessment:

![Sample LexisNexis DDP truth data journey](_images/ddp-truth-data-flow.png)

* The shared state contains the `ddp.request_id` value from the risk assessment result.

* The LexisNexis DDP Update Review node uses the `ddp.request_id` value to link retrospective truth data to the risk event API response from the LexisNexis DDP Query node.

* Truth data improves the fidelity of risk assessments over time.

## Availability

| Product                                        | Available? |
| ---------------------------------------------- | ---------- |
| PingOne Advanced Identity Cloud                | Yes        |
| PingAM (self-managed)                          | Yes        |
| Ping Advanced Identity Software (self-managed) | Yes        |

## Inputs

This node reads the following from the shared state:

* `ddp.query_api_response`: the full API response from the LexisNexis DDP Query node.

## Dependencies

The node requires a LexisNexis DDP Query node in the journey to provide the query API response.

## Configuration

| Property                     | Usage                                                                                                                                                                                                                                                                       |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Reason Code Outcomes         | A list of reason codes to check from the DDP query API response. When you add a reason code to this list, a new outcome is presented on the node. The node iterates through the configured reason codes until a match is found and returns the matched code as the outcome. |
| Unknown Session Action       | If an unknown session is encountered at runtime, this property defines the behavior. Unknown sessions occur for a variety of reasons where the device profiling has failed.                                                                                                 |
| Store DDP Query API Response | If enabled, the DDP query API response remains in the shared state. If disabled, the node removes the `ddp.query_api_response` value from the shared state.                                                                                                                 |

## Outputs

This node writes the following to the shared state:

* `ddp.query_api_response`: the full query API response, if you enabled Store DDP Query API Response. Otherwise, the node removes this value from the shared state.

* `ddp.query_reason_codes`: the reason codes from the DDP policy, for all outcomes.

* `ddp.request_id`: the request ID associated with the DDP query API. The [LexisNexis DDP Update Review node](lexis-ddp-update-review.html) uses this value to add truth data to a risk event, and other LexisNexis product APIs can use it as an identifier.

* `ddp.failure_reason`: text associated with the error condition, if an error outcome is triggered.

## Callbacks

This node doesn't send any callbacks.

## Outcomes

* `Configured reason codes`

  The node has a dynamic set of outcomes defined by the reason codes you configure. The corresponding outcome is triggered when a syntax match is found in the list of codes within the `reason_code` API response attribute.

* `None Triggered`

  The `reason_code` API response attribute doesn't match any of the configured reason codes.

* `Error`

  There is an integration error. Check the debug log files for any integration issues. If the configuration looks accurate, open a support case with LexisNexis.

## Errors

This node doesn't log any error or warning messages of its own.
