---
title: State Metadata node
description: Returns selected attributes from the shared node state as metadata.
component: auth-node-ref
version: 7.3
page_id: auth-node-ref::auth-node-state-metadata
canonical_url: https://docs.pingidentity.com/auth-node-ref/latest/state-metadata.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
section_ids:
  outcomes: Outcomes
  properties: Properties
---

# 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:

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

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. You can use the attributes with an [OTP Collector Decision node](auth-node-otp-collector-decision.html), and optionally, a [Scripted Decision node](auth-node-scripted-decision.html), to customize the data for display later.

![An example of OTP authentication with a State Metadata node.](_images/trees-node-state-metadata-example.png)Figure 1. Access Management![An example of OTP authentication with a State Metadata node.](_images/trees-node-state-metadata-example-platform.png)Figure 2. Ping Identity Platform

## Outcomes

Single outcome path.

Evaluation continues after the callback.

## Properties

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