Data elements

Data elements are reusable values within a property. They are extension-backed resources, so most real workflows pair this page with Extensions.

Familyclient.data_elements

Data elements

AttributeData typeDescription
list_for_property(property_id)
Array<DataElement>

Lists property data elements.

create(property_id:, name:, delegate_descriptor_id:, settings:, extension_id:, enabled: true)
DataElement

Creates a data element. The extension relationship is required.

update(data_element_id, attributes)
DataElement

Updates an existing data element.

revise(data_element_id)
DataElement

Revises the data element for library workflows.

upstream_chain(data_element_or_id, library_id:, property_id:)
UpstreamChain

Resolves the data element across the upstream library chain for a specific library context.

find_comprehensive(data_element_id, library_id:, property_id:)
ComprehensiveDataElement

Returns the data element from a library-context review snapshot together with referenced data elements, impacted rules, and normalized review payload.

comprehensive_upstream_chain(data_element_or_id, library_id:, property_id:)
ComprehensiveUpstreamChain

Resolves the data element upstream with snapshot-aware impact analysis and normalized JSON.

Comprehensive review

Data element review object

# DE123 = data element ID.
# LB_DEV = library ID.
# PR123 = property ID.
review_element = client.data_elements.find_comprehensive(
  "DE123",
  library_id: "LB_DEV",
  property_id: "PR123"
)

# Data elements referenced directly by this data element.
puts review_element.referenced_data_elements.map(&:name).inspect
# Rules impacted inside the same library snapshot, including transitive usage.
puts review_element.impacted_rules.map(&:name).inspect
# Pretty JSON intended for code review or diff tooling.
puts review_element.normalized_json

Create a data element

Sample: create a data element

POST /properties/:property_id/data_elements

# PR... = property ID.
# EX... = extension ID.
# Create one data element and attach it to an installed extension.
curl -s "https://reactor.adobe.io/properties/PR1234567890abcdef1234567890abcd/data_elements" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "x-api-key: YOUR_ADOBE_CLIENT_ID" \
  -H "x-gw-ims-org-id: YOUR_IMS_ORG_ID" \
  -H "Accept: application/vnd.api+json;revision=1" \
  -H "Content-Type: application/vnd.api+json" \
  --data '{
    "data": {
      "type": "data_elements",
      "attributes": {
        "name": "Page Title",
        "delegate_descriptor_id": "core::dataElements::custom-code",
        "settings": "{\"source\":\"return document.title;\"}",
        "enabled": true
      },
      "relationships": {
        "extension": {
          "data": {
            "id": "EX1234567890abcdef1234567890abcd",
            "type": "extensions"
          }
        }
      }
    }
  }'

Sample response

{
  "data": {
    // DE... = data element ID.
    "id": "DE1234567890abcdef1234567890abcd",
    "type": "data_elements",
    "attributes": {
      // Human-readable data element name.
      "name": "Page Title",
      // Whether the data element is enabled.
      "enabled": true,
      // Whether Adobe should normalize whitespace.
      "clean_text": false,
      // Whether Adobe should force lowercase output.
      "force_lower_case": false,
      // Default value if resolution fails.
      "default_value": null,
      // Storage strategy for the value.
      "storage_duration": "none",
      // Delegate that defines how the data element resolves.
      "delegate_descriptor_id": "core::dataElements::custom-code",
      // Serialized settings stored by Adobe.
      "settings": "{\"source\":\"return document.title;\"}",
      // Adobe creation timestamp.
      "created_at": "2026-03-26T10:22:11.000Z",
      // Adobe last-update timestamp.
      "updated_at": "2026-03-26T10:22:11.000Z",
      // Publish timestamp, or null when unpublished.
      "published_at": null
    }
  }
}

Read Extensions alongside this page when you need to discover the installed extension instance that supplies the delegate.

Was this page helpful?