Targeting key
Schema, including its fields, nested structure, and relationships
Definition
A Targeting Key is a governed attribute definition that you can safely reference in variation-group targeting rules (e.g., release, country, isLoggedIn). Declaring keys centrally ensures consistent naming, types, and documentation across campaigns and SDKs.
Payload Properties
When creating or updating a targeting key, the payload can include:
id(String, optional) — Unique targeting key identifier. Include this only when updating an existing targeting key.name(String, required) — Machine-readable key used intargeting.targetings[].key. Example:"release","country","targeting_key_created_with_resource_loader".type(String, required) — Data type of the key. Common values:"string","number","boolean". Use the type your SDK will emit at runtime.description(String, optional) — Human-friendly explanation of what the key represents and how it’s populated by your app/SDK.
Notes • Keep key names stable; changing them requires updating all targeting that references the key. • Use the most specific type possible to enable operator validation (e.g., numbers for numeric comparisons).
Example Project Payload:
{
"type": "string",
"name": "targeting_key_created_with_resource_loader",
"description": "Loaded from resource loader"
}Response Fields
When a Targeting Key is returned by the API/Resource Loader, you’ll receive its server-assigned ID and normalized definition:
id(String) — Unique targeting key identifier.name(String) — Targeting key name used in rules.type(String) — Data type (e.g.,"string").description(String) — Documentation for the key.
Example Response
{
"description": "Loaded from resource loader",
"id": "targeting_key",
"name": "targeting_key_created_with_resource_loader",
"type": "string"
}Error Codes
InvalidPayload – Missing project name when creating a project, or other payload formatting issues.
PermissionDenied – User not allowed to create projects (if such permission is restricted).
Last updated
Was this helpful?

