---
title: Generating an attribute
description: Generate attributes to extract JSON schema properties from parent attributes.
component: pingone
page_id: pingone:authorization_using_pingone_authorize:p1_az_generating_attributes
canonical_url: https://docs.pingidentity.com/pingone/authorization_using_pingone_authorize/p1_az_generating_attributes.html
revdate: April 27, 2026
section_ids:
  steps: Steps
  example: Example:
---

# Generating an attribute

Generate attributes to extract JSON schema properties from parent attributes. Learn more in [Generated attributes](p1_az_generated_attributes.html).

As example data for this task, consider the following JSON that represents a user in an external identity store:

```json
{
  "Id": "my-id",
  "Ip": "217.145.198.92",
  "Name": "John Smith"
}
```

You'll create a parent attribute that stores this user information passed from a decision request, then generate child attributes that extract properties.

## Steps

1. [Add an attribute](p1_az_adding_attributes.html) that stores a JSON schema:

   1. In the PingOne admin console, go to **Authorization > Trust Framework**.

   2. On the **Attributes** tab, click the **[icon: plus, set=fa]**icon and enter a name for the attribute, such as `External User`.

   3. To define where the attribute pulls information from, click **Resolvers**, and then click **[icon: plus, set=fa]Add Resolver**.

   4. In the **Resolver type** list, select **Request Parameter**.

      ![Screen capture showing the External User attribute with a Request Parameter resolver.](_images/ndw1677376875463.png)

   5. In the **Value Settings** section, select **JSON** in the **Type** list.

   6. Use an [online JSON schema generator](https://www.liquid-technologies.com/online-json-to-schema-converter) to generate a schema for the example JSON that represents the external user.

      ### Example:

      ```json
      {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "type": "object",
        "properties": {
          "Id": {
            "type": "string"
          },
          "Ip": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          }
        },
        "required": [
          "Id",
          "Ip",
          "Name"
        ]
      }
      ```

   7. Copy the resulting schema and enter it in the **JSON Schema** field.

      ![Screen capture showing the resulting JSON Schema in the attribute's Value Settings section.](_images/xft1677377400882.png)

      |   |                                                                                                                                                                   |
      | - | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      |   | To edit large JSON objects more effectively, open the [code editor](p1az_code_editor.html) by clicking ![Rich text editor button.](_images/xri1677377600560.png). |

   8. Click **Save Changes**.

2. Generate attributes based on the defined JSON schema.

   For example purposes, you'll generate attributes for PingOne Protect connector service inputs.

   1. [Add a connector service](p1_az_connecting_a_service.html) for PingOne Protect. Enter a name, such as `External User Risk`, and then select the service type, and connector types.

   2. In the **Inputs** section, click ![Switch to Attribute button](_images/fba1676849235443.png) next to **User ID**, and then click the **Select an attribute** list.

   3. Expand the **External User** parent attribute and select the **Id** property.

      If an attribute hasn't been generated for a property yet, the property is grayed out. When you select a property, PingOne Authorize adds an attribute that resolves from the parent attribute and a processor that extracts the property.

      ![Screen capture showing External User attribute properties in the expanded Select an Attribute list.](_images/hgu1677378495587.png)

   4. For **User Type**, enter `EXTERNAL`.

   5. For **IP Address**, select the **External User > Ip** property to generate an attribute.

   6. Click **Save changes**.

      Generated attributes are nested under the parent attribute on the **Attributes** tab.

      ![Screen capture showing generated Id and Ip attributes nested under the External User attribute on the Attributes tab](_images/typ1677379170304.png)

      The generated attributes resolve from their parent attribute, as shown in the following image:

      ![Screen capture showing the parent attribute resolver and JSON path processor for the Id attribute.](_images/p1az-generating-attributes-id-resolver.png)
