---
description: Use nested objects, arrays, and null in Flagship evaluation context, with dot-path targeting and array membership operators.
title: Target Flagship feature flags with structured evaluation context
image: https://developers.cloudflare.com/changelog/post/2026-10-23-structured-evaluation-context/og.png?v=b7d5ff0284d957ca
---

[Skip to content](#main-content)

[View RSS feeds](https://developers.cloudflare.com/fundamentals/new-features/available-rss-feeds/) [ Subscribe to RSS](https://developers.cloudflare.com/changelog/rss/index.xml)

[Back to all posts](https://developers.cloudflare.com/changelog)

October 23, 2026

## Target Flagship feature flags with structured evaluation context

[Flagship](https://developers.cloudflare.com/flagship/)

Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/changelog/post/2026-10-23-structured-evaluation-context/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

[Flagship](https://developers.cloudflare.com/flagship/) supports nested objects, arrays, and `null` in evaluation context. Pass user profiles and tag lists directly, then target nested attributes without flattening your application data.

For example, pass a profile and tags when evaluating a flag through the Workers binding:

```js
const enabled = await env.FLAGS.getBooleanValue("new-checkout", false, {
	targetingKey: "user-42",
	profile: { plan: "enterprise" },
	tags: ["beta", "early-access"],
});
```

```ts
const enabled = await env.FLAGS.getBooleanValue("new-checkout", false, {
	targetingKey: "user-42",
	profile: { plan: "enterprise" },
	tags: ["beta", "early-access"],
});
```

A targeting rule can combine `profile.plan equals "enterprise"` with `tags has "beta"` to serve the feature to enterprise users in the beta group. Use dot-separated paths for nested attributes and the `has` and `not_has` operators for array membership. Percentage rollouts can also use a nested identifier, such as `profile.id`, for consistent user assignment.

Structured context works through the Workers binding, the evaluation REST API with a JSON `POST` body, and the TypeScript, Python, and Go OpenFeature SDKs from version `0.6.0`. The SDKs automatically use `POST` when HTTP evaluation requires structured context.

Refer to [targeting rules](https://developers.cloudflare.com/flagship/targeting/), the [evaluation API](https://developers.cloudflare.com/flagship/reference/evaluation-api/), and [SDK context support](https://developers.cloudflare.com/flagship/sdk/#context-support) for usage and supported values.

```json
{"@context":"https://schema.org","@type":"BlogPosting","@id":"https://developers.cloudflare.com/changelog/post/2026-10-23-structured-evaluation-context/#page","headline":"Target Flagship feature flags with structured evaluation context","description":"Use nested objects, arrays, and null in Flagship evaluation context, with dot-path targeting and array membership operators.","url":"https://developers.cloudflare.com/changelog/post/2026-10-23-structured-evaluation-context/","inLanguage":"en","image":"https://developers.cloudflare.com/changelog/post/2026-10-23-structured-evaluation-context/og.png?v=b7d5ff0284d957ca","dateModified":"2026-10-23","datePublished":"2026-10-23","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```
