Skip to content
Start here

Apps

List apps
GET/accounts/{account_id}/flagship/apps
Get app
GET/accounts/{account_id}/flagship/apps/{app_id}
Create app
POST/accounts/{account_id}/flagship/apps
Update app
PUT/accounts/{account_id}/flagship/apps/{app_id}
Delete app
DELETE/accounts/{account_id}/flagship/apps/{app_id}
ModelsExpand Collapse
AppListResponse object { id, created_at, name, 2 more }
id: string
created_at: string
name: string
updated_at: string
updated_by: string

Email of the actor who last modified the app, or edge-gateway for gateway-authenticated changes.

AppGetResponse object { id, created_at, name, 2 more }
id: string
created_at: string
name: string
updated_at: string
updated_by: string

Email of the actor who last modified the app, or edge-gateway for gateway-authenticated changes.

AppCreateResponse object { id, created_at, name, 2 more }
id: string
created_at: string
name: string
updated_at: string
updated_by: string

Email of the actor who last modified the app, or edge-gateway for gateway-authenticated changes.

AppUpdateResponse object { id, created_at, name, 2 more }
id: string
created_at: string
name: string
updated_at: string
updated_by: string

Email of the actor who last modified the app, or edge-gateway for gateway-authenticated changes.

AppDeleteResponse object { id }
id: string

AppsFlags

List flags
GET/accounts/{account_id}/flagship/apps/{app_id}/flags
Get flag
GET/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}
Create flag
POST/accounts/{account_id}/flagship/apps/{app_id}/flags
Update flag
PUT/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}
Delete flag
DELETE/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}
ModelsExpand Collapse
FlagListResponse object { default_variation, enabled, key, 6 more }
default_variation: string

Variation served when no rule matches or the flag is disabled. Must be a key in variations.

minLength1
enabled: boolean

When false, the flag bypasses all rules and always serves default_variation.

key: string

Unique identifier for the flag within an app. Used in all evaluation and SDK calls.

maxLength64
minLength1
rules: array of object { conditions, priority, serve_variation, rollout }

Targeting rules evaluated in ascending priority; the first matching rule wins. An empty array means the flag always serves default_variation.

conditions: array of object { attribute, operator, value } or object { clauses, logical_operator }

Conditions the context must satisfy for this rule to match. An empty array matches all contexts.

One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
priority: number

Evaluation order; lower numbers are evaluated first. Must be unique across the flag’s rules.

minimum1
serve_variation: string

Variation served when this rule matches. Must be a key in variations.

minLength1
rollout: optional object { percentage, attribute }
percentage: number

Percentage of matching traffic (0–100) served this variation. For multi-way splits, use cumulative upper bounds across rules (e.g. 30, 70, 100).

maximum100
minimum0
attribute: optional string

Context attribute used for sticky bucketing. Defaults to targetingKey. If absent at evaluation time, bucketing is random per request.

minLength1
variations: map[string or number or boolean or 2 more]

Map of variation name to value. All values must be the same type (boolean, string, number, or JSON object/array). Each serialized value must be 10KB or smaller.

One of the following:
string
number
boolean
map[unknown]
array of unknown
description: optional string
maxLength512
type: optional "boolean" or "string" or "number" or "json"

Value type of the flag’s variations. Inferred from the variation values on write, so it may be omitted in requests.

One of the following:
"boolean"
"string"
"number"
"json"
updated_at: optional string
updated_by: optional string
FlagGetResponse object { default_variation, enabled, key, 6 more }
default_variation: string

Variation served when no rule matches or the flag is disabled. Must be a key in variations.

minLength1
enabled: boolean

When false, the flag bypasses all rules and always serves default_variation.

key: string

Unique identifier for the flag within an app. Used in all evaluation and SDK calls.

maxLength64
minLength1
rules: array of object { conditions, priority, serve_variation, rollout }

Targeting rules evaluated in ascending priority; the first matching rule wins. An empty array means the flag always serves default_variation.

conditions: array of object { attribute, operator, value } or object { clauses, logical_operator }

Conditions the context must satisfy for this rule to match. An empty array matches all contexts.

One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
priority: number

Evaluation order; lower numbers are evaluated first. Must be unique across the flag’s rules.

minimum1
serve_variation: string

Variation served when this rule matches. Must be a key in variations.

minLength1
rollout: optional object { percentage, attribute }
percentage: number

Percentage of matching traffic (0–100) served this variation. For multi-way splits, use cumulative upper bounds across rules (e.g. 30, 70, 100).

maximum100
minimum0
attribute: optional string

Context attribute used for sticky bucketing. Defaults to targetingKey. If absent at evaluation time, bucketing is random per request.

minLength1
variations: map[string or number or boolean or 2 more]

Map of variation name to value. All values must be the same type (boolean, string, number, or JSON object/array). Each serialized value must be 10KB or smaller.

One of the following:
string
number
boolean
map[unknown]
array of unknown
description: optional string
maxLength512
type: optional "boolean" or "string" or "number" or "json"

Value type of the flag’s variations. Inferred from the variation values on write, so it may be omitted in requests.

One of the following:
"boolean"
"string"
"number"
"json"
updated_at: optional string
updated_by: optional string
FlagCreateResponse object { default_variation, enabled, key, 6 more }
default_variation: string

Variation served when no rule matches or the flag is disabled. Must be a key in variations.

minLength1
enabled: boolean

When false, the flag bypasses all rules and always serves default_variation.

key: string

Unique identifier for the flag within an app. Used in all evaluation and SDK calls.

maxLength64
minLength1
rules: array of object { conditions, priority, serve_variation, rollout }

Targeting rules evaluated in ascending priority; the first matching rule wins. An empty array means the flag always serves default_variation.

conditions: array of object { attribute, operator, value } or object { clauses, logical_operator }

Conditions the context must satisfy for this rule to match. An empty array matches all contexts.

One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
priority: number

Evaluation order; lower numbers are evaluated first. Must be unique across the flag’s rules.

minimum1
serve_variation: string

Variation served when this rule matches. Must be a key in variations.

minLength1
rollout: optional object { percentage, attribute }
percentage: number

Percentage of matching traffic (0–100) served this variation. For multi-way splits, use cumulative upper bounds across rules (e.g. 30, 70, 100).

maximum100
minimum0
attribute: optional string

Context attribute used for sticky bucketing. Defaults to targetingKey. If absent at evaluation time, bucketing is random per request.

minLength1
variations: map[string or number or boolean or 2 more]

Map of variation name to value. All values must be the same type (boolean, string, number, or JSON object/array). Each serialized value must be 10KB or smaller.

One of the following:
string
number
boolean
map[unknown]
array of unknown
description: optional string
maxLength512
type: optional "boolean" or "string" or "number" or "json"

Value type of the flag’s variations. Inferred from the variation values on write, so it may be omitted in requests.

One of the following:
"boolean"
"string"
"number"
"json"
updated_at: optional string
updated_by: optional string
FlagUpdateResponse object { default_variation, enabled, key, 6 more }
default_variation: string

Variation served when no rule matches or the flag is disabled. Must be a key in variations.

minLength1
enabled: boolean

When false, the flag bypasses all rules and always serves default_variation.

key: string

Unique identifier for the flag within an app. Used in all evaluation and SDK calls.

maxLength64
minLength1
rules: array of object { conditions, priority, serve_variation, rollout }

Targeting rules evaluated in ascending priority; the first matching rule wins. An empty array means the flag always serves default_variation.

conditions: array of object { attribute, operator, value } or object { clauses, logical_operator }

Conditions the context must satisfy for this rule to match. An empty array matches all contexts.

One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
priority: number

Evaluation order; lower numbers are evaluated first. Must be unique across the flag’s rules.

minimum1
serve_variation: string

Variation served when this rule matches. Must be a key in variations.

minLength1
rollout: optional object { percentage, attribute }
percentage: number

Percentage of matching traffic (0–100) served this variation. For multi-way splits, use cumulative upper bounds across rules (e.g. 30, 70, 100).

maximum100
minimum0
attribute: optional string

Context attribute used for sticky bucketing. Defaults to targetingKey. If absent at evaluation time, bucketing is random per request.

minLength1
variations: map[string or number or boolean or 2 more]

Map of variation name to value. All values must be the same type (boolean, string, number, or JSON object/array). Each serialized value must be 10KB or smaller.

One of the following:
string
number
boolean
map[unknown]
array of unknown
description: optional string
maxLength512
type: optional "boolean" or "string" or "number" or "json"

Value type of the flag’s variations. Inferred from the variation values on write, so it may be omitted in requests.

One of the following:
"boolean"
"string"
"number"
"json"
updated_at: optional string
updated_by: optional string
FlagDeleteResponse object { key }
key: string

AppsFlagsChangelog

Get flag changelog
GET/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}/changelog
ModelsExpand Collapse
ChangelogListResponse = object { after, event, flag_key } or object { after, event, flag_key } or object { after, diff, event, flag_key }
One of the following:
object { after, event, flag_key }
after: object { default_variation, enabled, key, 6 more }
default_variation: string

Variation served when no rule matches or the flag is disabled. Must be a key in variations.

minLength1
enabled: boolean

When false, the flag bypasses all rules and always serves default_variation.

key: string

Unique identifier for the flag within an app. Used in all evaluation and SDK calls.

maxLength64
minLength1
rules: array of object { conditions, priority, serve_variation, rollout }

Targeting rules evaluated in ascending priority; the first matching rule wins. An empty array means the flag always serves default_variation.

conditions: array of object { attribute, operator, value } or object { clauses, logical_operator }

Conditions the context must satisfy for this rule to match. An empty array matches all contexts.

One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
priority: number

Evaluation order; lower numbers are evaluated first. Must be unique across the flag’s rules.

minimum1
serve_variation: string

Variation served when this rule matches. Must be a key in variations.

minLength1
rollout: optional object { percentage, attribute }
percentage: number

Percentage of matching traffic (0–100) served this variation. For multi-way splits, use cumulative upper bounds across rules (e.g. 30, 70, 100).

maximum100
minimum0
attribute: optional string

Context attribute used for sticky bucketing. Defaults to targetingKey. If absent at evaluation time, bucketing is random per request.

minLength1
variations: map[string or number or boolean or 2 more]

Map of variation name to value. All values must be the same type (boolean, string, number, or JSON object/array). Each serialized value must be 10KB or smaller.

One of the following:
string
number
boolean
map[unknown]
array of unknown
description: optional string
maxLength512
type: optional "boolean" or "string" or "number" or "json"

Value type of the flag’s variations. Inferred from the variation values on write, so it may be omitted in requests.

One of the following:
"boolean"
"string"
"number"
"json"
updated_at: optional string
updated_by: optional string
event: "create"
flag_key: string
object { after, event, flag_key }
after: object { default_variation, enabled, key, 6 more }
default_variation: string

Variation served when no rule matches or the flag is disabled. Must be a key in variations.

minLength1
enabled: boolean

When false, the flag bypasses all rules and always serves default_variation.

key: string

Unique identifier for the flag within an app. Used in all evaluation and SDK calls.

maxLength64
minLength1
rules: array of object { conditions, priority, serve_variation, rollout }

Targeting rules evaluated in ascending priority; the first matching rule wins. An empty array means the flag always serves default_variation.

conditions: array of object { attribute, operator, value } or object { clauses, logical_operator }

Conditions the context must satisfy for this rule to match. An empty array matches all contexts.

One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
priority: number

Evaluation order; lower numbers are evaluated first. Must be unique across the flag’s rules.

minimum1
serve_variation: string

Variation served when this rule matches. Must be a key in variations.

minLength1
rollout: optional object { percentage, attribute }
percentage: number

Percentage of matching traffic (0–100) served this variation. For multi-way splits, use cumulative upper bounds across rules (e.g. 30, 70, 100).

maximum100
minimum0
attribute: optional string

Context attribute used for sticky bucketing. Defaults to targetingKey. If absent at evaluation time, bucketing is random per request.

minLength1
variations: map[string or number or boolean or 2 more]

Map of variation name to value. All values must be the same type (boolean, string, number, or JSON object/array). Each serialized value must be 10KB or smaller.

One of the following:
string
number
boolean
map[unknown]
array of unknown
description: optional string
maxLength512
type: optional "boolean" or "string" or "number" or "json"

Value type of the flag’s variations. Inferred from the variation values on write, so it may be omitted in requests.

One of the following:
"boolean"
"string"
"number"
"json"
updated_at: optional string
updated_by: optional string
event: "delete"
flag_key: string
object { after, diff, event, flag_key }
after: object { default_variation, enabled, key, 6 more }
default_variation: string

Variation served when no rule matches or the flag is disabled. Must be a key in variations.

minLength1
enabled: boolean

When false, the flag bypasses all rules and always serves default_variation.

key: string

Unique identifier for the flag within an app. Used in all evaluation and SDK calls.

maxLength64
minLength1
rules: array of object { conditions, priority, serve_variation, rollout }

Targeting rules evaluated in ascending priority; the first matching rule wins. An empty array means the flag always serves default_variation.

conditions: array of object { attribute, operator, value } or object { clauses, logical_operator }

Conditions the context must satisfy for this rule to match. An empty array matches all contexts.

One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of object { attribute, operator, value } or object { clauses, logical_operator }
One of the following:
object { attribute, operator, value }
attribute: string
maxLength64
minLength1
operator: "equals" or "not_equals" or "greater_than" or 8 more
One of the following:
"equals"
"not_equals"
"greater_than"
"less_than"
"greater_than_or_equals"
"less_than_or_equals"
"contains"
"starts_with"
"ends_with"
"in"
"not_in"
value: unknown

Value to compare against the context attribute. Must be an array for in and not_in; numeric and ISO-8601 datetime strings are accepted by the ordering operators.

object { clauses, logical_operator }
clauses: array of string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
logical_operator: "AND" or "OR"
One of the following:
"AND"
"OR"
priority: number

Evaluation order; lower numbers are evaluated first. Must be unique across the flag’s rules.

minimum1
serve_variation: string

Variation served when this rule matches. Must be a key in variations.

minLength1
rollout: optional object { percentage, attribute }
percentage: number

Percentage of matching traffic (0–100) served this variation. For multi-way splits, use cumulative upper bounds across rules (e.g. 30, 70, 100).

maximum100
minimum0
attribute: optional string

Context attribute used for sticky bucketing. Defaults to targetingKey. If absent at evaluation time, bucketing is random per request.

minLength1
variations: map[string or number or boolean or 2 more]

Map of variation name to value. All values must be the same type (boolean, string, number, or JSON object/array). Each serialized value must be 10KB or smaller.

One of the following:
string
number
boolean
map[unknown]
array of unknown
description: optional string
maxLength512
type: optional "boolean" or "string" or "number" or "json"

Value type of the flag’s variations. Inferred from the variation values on write, so it may be omitted in requests.

One of the following:
"boolean"
"string"
"number"
"json"
updated_at: optional string
updated_by: optional string
diff: map[object { from, to } ]
from: optional string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
to: optional string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown
event: "update"
flag_key: string

AppsEvaluate

Evaluate flag
GET/accounts/{account_id}/flagship/apps/{app_id}/evaluate
ModelsExpand Collapse
EvaluateGetResponse object { flagKey, reason, variant, value }
flagKey: string
reason: "TARGETING_MATCH" or "DEFAULT" or "DISABLED" or "SPLIT"
One of the following:
"TARGETING_MATCH"
"DEFAULT"
"DISABLED"
"SPLIT"
variant: string
value: optional string or number or boolean or 2 more
One of the following:
string
number
boolean
map[unknown]
array of unknown