Skip to content
Start here

Apps

List apps
flagship.apps.list(AppListParams**kwargs) -> SyncSinglePage[AppListResponse]
GET/accounts/{account_id}/flagship/apps
Get app
flagship.apps.get(strapp_id, AppGetParams**kwargs) -> AppGetResponse
GET/accounts/{account_id}/flagship/apps/{app_id}
Create app
flagship.apps.create(AppCreateParams**kwargs) -> AppCreateResponse
POST/accounts/{account_id}/flagship/apps
Update app
flagship.apps.update(strapp_id, AppUpdateParams**kwargs) -> AppUpdateResponse
PUT/accounts/{account_id}/flagship/apps/{app_id}
Delete app
flagship.apps.delete(strapp_id, AppDeleteParams**kwargs) -> AppDeleteResponse
DELETE/accounts/{account_id}/flagship/apps/{app_id}
ModelsExpand Collapse
class AppListResponse:
id: str
created_at: str
name: str
updated_at: str
updated_by: str

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

class AppGetResponse:
id: str
created_at: str
name: str
updated_at: str
updated_by: str

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

class AppCreateResponse:
id: str
created_at: str
name: str
updated_at: str
updated_by: str

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

class AppUpdateResponse:
id: str
created_at: str
name: str
updated_at: str
updated_by: str

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

class AppDeleteResponse:
id: str

AppsFlags

List flags
flagship.apps.flags.list(strapp_id, FlagListParams**kwargs) -> SyncCursorPaginationAfter[FlagListResponse]
GET/accounts/{account_id}/flagship/apps/{app_id}/flags
Get flag
flagship.apps.flags.get(strflag_key, FlagGetParams**kwargs) -> FlagGetResponse
GET/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}
Create flag
flagship.apps.flags.create(strapp_id, FlagCreateParams**kwargs) -> FlagCreateResponse
POST/accounts/{account_id}/flagship/apps/{app_id}/flags
Update flag
flagship.apps.flags.update(strflag_key, FlagUpdateParams**kwargs) -> FlagUpdateResponse
PUT/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}
Delete flag
flagship.apps.flags.delete(strflag_key, FlagDeleteParams**kwargs) -> FlagDeleteResponse
DELETE/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}
ModelsExpand Collapse
class FlagListResponse:
default_variation: str

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

minLength1
enabled: bool

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

key: str

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

maxLength64
minLength1
rules: List[Rule]

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

conditions: List[RuleCondition]

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

One of the following:
class RuleConditionUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1:
clauses: List[RuleConditionUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[Union[Optional[str], float, bool, 2 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
priority: int

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

minimum1
serve_variation: str

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

minLength1
rollout: Optional[RuleRollout]
percentage: float

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[str]

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

minLength1
variations: Dict[str, Union[Optional[str], float, bool, 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:
Optional[str]
float
bool
Dict[str, object]
List[object]
description: Optional[str]
maxLength512
type: Optional[Literal["boolean", "string", "number", "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[str]
updated_by: Optional[str]
class FlagGetResponse:
default_variation: str

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

minLength1
enabled: bool

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

key: str

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

maxLength64
minLength1
rules: List[Rule]

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

conditions: List[RuleCondition]

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

One of the following:
class RuleConditionUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1:
clauses: List[RuleConditionUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[Union[Optional[str], float, bool, 2 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
priority: int

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

minimum1
serve_variation: str

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

minLength1
rollout: Optional[RuleRollout]
percentage: float

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[str]

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

minLength1
variations: Dict[str, Union[Optional[str], float, bool, 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:
Optional[str]
float
bool
Dict[str, object]
List[object]
description: Optional[str]
maxLength512
type: Optional[Literal["boolean", "string", "number", "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[str]
updated_by: Optional[str]
class FlagCreateResponse:
default_variation: str

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

minLength1
enabled: bool

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

key: str

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

maxLength64
minLength1
rules: List[Rule]

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

conditions: List[RuleCondition]

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

One of the following:
class RuleConditionUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1:
clauses: List[RuleConditionUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[Union[Optional[str], float, bool, 2 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
priority: int

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

minimum1
serve_variation: str

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

minLength1
rollout: Optional[RuleRollout]
percentage: float

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[str]

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

minLength1
variations: Dict[str, Union[Optional[str], float, bool, 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:
Optional[str]
float
bool
Dict[str, object]
List[object]
description: Optional[str]
maxLength512
type: Optional[Literal["boolean", "string", "number", "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[str]
updated_by: Optional[str]
class FlagUpdateResponse:
default_variation: str

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

minLength1
enabled: bool

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

key: str

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

maxLength64
minLength1
rules: List[Rule]

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

conditions: List[RuleCondition]

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

One of the following:
class RuleConditionUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1:
clauses: List[RuleConditionUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class RuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[Union[Optional[str], float, bool, 2 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
priority: int

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

minimum1
serve_variation: str

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

minLength1
rollout: Optional[RuleRollout]
percentage: float

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[str]

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

minLength1
variations: Dict[str, Union[Optional[str], float, bool, 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:
Optional[str]
float
bool
Dict[str, object]
List[object]
description: Optional[str]
maxLength512
type: Optional[Literal["boolean", "string", "number", "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[str]
updated_by: Optional[str]
class FlagDeleteResponse:
key: str

AppsFlagsChangelog

Get flag changelog
flagship.apps.flags.changelog.list(strflag_key, ChangelogListParams**kwargs) -> SyncCursorPaginationAfter[ChangelogListResponse]
GET/accounts/{account_id}/flagship/apps/{app_id}/flags/{flag_key}/changelog
ModelsExpand Collapse
One of the following:
class UnionMember0:
after: UnionMember0After
default_variation: str

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

minLength1
enabled: bool

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

key: str

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

maxLength64
minLength1
rules: List[UnionMember0AfterRule]

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

conditions: List[UnionMember0AfterRuleCondition]

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

One of the following:
class UnionMember0AfterRuleConditionUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember0AfterRuleConditionUnionMember1:
clauses: List[UnionMember0AfterRuleConditionUnionMember1Clause]
One of the following:
class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1:
clauses: List[UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember0AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[Union[Optional[str], float, bool, 2 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
priority: int

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

minimum1
serve_variation: str

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

minLength1
rollout: Optional[UnionMember0AfterRuleRollout]
percentage: float

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[str]

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

minLength1
variations: Dict[str, Union[Optional[str], float, bool, 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:
Optional[str]
float
bool
Dict[str, object]
List[object]
description: Optional[str]
maxLength512
type: Optional[Literal["boolean", "string", "number", "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[str]
updated_by: Optional[str]
event: Literal["create"]
flag_key: str
class UnionMember1:
after: UnionMember1After
default_variation: str

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

minLength1
enabled: bool

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

key: str

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

maxLength64
minLength1
rules: List[UnionMember1AfterRule]

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

conditions: List[UnionMember1AfterRuleCondition]

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

One of the following:
class UnionMember1AfterRuleConditionUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember1AfterRuleConditionUnionMember1:
clauses: List[UnionMember1AfterRuleConditionUnionMember1Clause]
One of the following:
class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1:
clauses: List[UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember1AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[Union[Optional[str], float, bool, 2 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
priority: int

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

minimum1
serve_variation: str

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

minLength1
rollout: Optional[UnionMember1AfterRuleRollout]
percentage: float

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[str]

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

minLength1
variations: Dict[str, Union[Optional[str], float, bool, 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:
Optional[str]
float
bool
Dict[str, object]
List[object]
description: Optional[str]
maxLength512
type: Optional[Literal["boolean", "string", "number", "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[str]
updated_by: Optional[str]
event: Literal["delete"]
flag_key: str
class UnionMember2:
after: UnionMember2After
default_variation: str

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

minLength1
enabled: bool

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

key: str

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

maxLength64
minLength1
rules: List[UnionMember2AfterRule]

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

conditions: List[UnionMember2AfterRuleCondition]

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

One of the following:
class UnionMember2AfterRuleConditionUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember2AfterRuleConditionUnionMember1:
clauses: List[UnionMember2AfterRuleConditionUnionMember1Clause]
One of the following:
class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1:
clauses: List[UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1Clause]
One of the following:
class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember0:
attribute: str
maxLength64
minLength1
operator: Literal["equals", "not_equals", "greater_than", 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: object

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.

class UnionMember2AfterRuleConditionUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1ClauseUnionMember1:
clauses: List[Union[Optional[str], float, bool, 2 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
logical_operator: Literal["AND", "OR"]
One of the following:
"AND"
"OR"
priority: int

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

minimum1
serve_variation: str

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

minLength1
rollout: Optional[UnionMember2AfterRuleRollout]
percentage: float

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[str]

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

minLength1
variations: Dict[str, Union[Optional[str], float, bool, 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:
Optional[str]
float
bool
Dict[str, object]
List[object]
description: Optional[str]
maxLength512
type: Optional[Literal["boolean", "string", "number", "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[str]
updated_by: Optional[str]
diff: Dict[str, UnionMember2Diff]
from_: Optional[Union[Optional[str], float, bool, 3 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
to: Optional[Union[Optional[str], float, bool, 3 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]
event: Literal["update"]
flag_key: str

AppsEvaluate

Evaluate flag
flagship.apps.evaluate.get(strapp_id, EvaluateGetParams**kwargs) -> EvaluateGetResponse
GET/accounts/{account_id}/flagship/apps/{app_id}/evaluate
ModelsExpand Collapse
class EvaluateGetResponse:
flag_key: str
reason: Literal["TARGETING_MATCH", "DEFAULT", "DISABLED", "SPLIT"]
One of the following:
"TARGETING_MATCH"
"DEFAULT"
"DISABLED"
"SPLIT"
variant: str
value: Optional[Union[Optional[str], float, bool, 3 more]]
One of the following:
Optional[str]
float
bool
Dict[str, object]
List[object]