The availability of features may depend on your plan type. Contact your Customer Success Manager if you have any questions.
Dev guideRecipesAPI ReferenceChangelog
Dev guideAPI ReferenceRecipesChangelogUser GuideGitHubDev CommunityOptimizely AcademySubmit a ticketLog In
Dev guide

Create flag variables

Variables let you remotely configure your flag. Instead of hard-coding and updating your variables by re-deploying, you can group them in a flag variation and update them remotely in the Optimizely Feature Experimentation application.

See Create flag variables in the user documentation to see the available variable types, detailed examples, and step-by-step instructions for creating variables using the Feature Experimentation UI.

For a specific use-case example using an image carousel iOS, see Flag variable example with an image carousel.

Create flag variable

Use the Feature Experimentation REST API

Use the Create Variable Definition endpoint.

EndpointPOST https://api.optimizely.com/flags/v1/projects/PROJECT_ID/flags/FLAG_KEY/variable_definitions

Authentication – Include your API key in the Authorization header as a Bearer token. See Generate tokens and use the REST APIs.

Request example

curl --request POST \
     --url https://api.optimizely.com/flags/v1/projects/PROJECT_ID/flags/FLAG_KEY/variable_definitions \
     --header 'accept: application/json' \
     --header 'authorization: Bearer TOKEN' \
     --header 'content-type: application/json' \
     --data '
{
  "type": "TYPE",
  "default_value": "DEFAULT_VALUE",
  "description": "VARIABLE_DESCRIPTION",
  "key": "VARIABLE_KEY"
}
'

Response example

{
  "key": "show_amounts",
  "description": "If inventory is shown, this variable controls what is displayed: available/unavailable vs the actual inventory amount.",
  "type": "boolean",
  "default_value": "false",
  "created_time": "2025-09-12T16:23:14.258485Z",
  "updated_time": "2025-09-12T16:23:14.258487Z",
  "role": "admin"
}

See the Create Variable Definition endpoint reference for the full list of parameters. You can also follow the REST API cookbook and see step three to create events.

Use the Feature Experimentation UI

See Create flag variables in the user documentation.

Implement variables

After you have created your variables, the next step is to create flag variations. Variations let you avoid hard-coding variables in your application and let you group and reuse variable values using flag rules.