---
title: State Metadata node
description: Configure the State Metadata node to return selected shared node state attributes as metadata in the authentication response.
component: platform
version: 7.5
page_id: platform:auth-node-ref:state-metadata
canonical_url: https://docs.pingidentity.com/platform/7.5/auth-node-ref/state-metadata.html
llms_txt: https://docs.pingidentity.com/platform/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Nodes &amp; Trees", "Journeys", "Authentication", "Metadata"]
page_aliases: ["auth-node-state-metadata.adoc"]
section_ids:
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  outputs: Outputs
  outcomes: Outcomes
  errors: Errors
  example: Example
---

# State Metadata node

The State Metadata node returns selected attributes from the shared node state as metadata.

This node sends a `MetadataCallback` to retrieve shared state values, which it adds to the JSON response from the `/authenticate` endpoint. This example shows how a shared state attribute, `mail`, is returned:

```json
{
    "callbacks": [
        {
            "type": "MetadataCallback",
            "output": [
                {
                    "name": "data",
                    "value": {
                        "mail": "bjensen@example.com"
                    }
                }
            ]
        }
    ]
}
```

## Availability

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

## Inputs

This node reads its configured Attributes from the shared node state.

## Dependencies

None.

## Configuration

| Property   | Usage                                                                     |
| ---------- | ------------------------------------------------------------------------- |
| Attributes | Specify one or more shared state attribute names for return.Default: none |

## Outputs

This node only sends the callback. It does not modify the shared node state.

## Outcomes

Single outcome path.

Evaluation continues after the callback.

## Errors

This node does not log error or warning messages of its own.

## Example

Use this node to display custom information that includes user attributes without having to alter the existing flow.

For example, for OTP authentication with a choice of email or SMS, use this node to return the user's email address or phone number. To display the returned attributes, use an [OTP Collector Decision node](otp-collector-decision.html), and optionally, a [Scripted Decision node](scripted-decision.html), to customize the data for display later in the journey.

![An example of OTP authentication with a State Metadata node.](_images/trees-node-state-metadata-example-platform.png)

* The [Page node](page.html) with a [Platform Username node](platform-username.html) and [Attribute Collector node](attribute-collector.html) prompts for the credentials.

* The [Data Store Decision node](data-store-decision.html) confirms the user's credentials.

* The [Choice Collector node](choice-collector.html) lets the user opt for notification through email or a text message.

* The [OTP Email Sender node](otp-email-sender.html) sends the one-time password (OTP) as email.

* The [OTP SMS Sender node](otp-sms-sender.html) sends the OTP as a text message.

* The State Metadata node injects attributes for additional information.

* The [OTP Collector Decision node](otp-collector-decision.html) displays the additional information when collecting the OTP to verify.
