Create Variable Definition
1 min
POST
https://api.optimizely.com/flags/v1//projects/{project_id}/flags/{flag_key}/variable_definitions
Path Parameters
- flag_keystringrequiredExampleDescription
- project_idintegerrequiredExampleDescription
Body Parameters
- bodyVariableDefinitionrequiredExample
{ "default_value": "my_default_str", "description": "some description", "key": "variable_definition_key", "type": "string" }- default_valuestringrequiredExampleDescription
- descriptionstringExampleDescription
- keystringrequiredExampleDescription
- typestring<boolean | string | double | integer | json>requiredExampleDescriptionAllowedbooleanstringdoubleintegerjson
Responses
200
- VariableDefinitionExample
{ "default_value": "my_default_str", "description": "some description", "key": "variable_definition_key", "type": "string" }- default_valuestringrequiredExampleDescription
- descriptionstringExampleDescription
- keystringrequiredExampleDescription
- revisionintegerDescription
- rolestringExampleDescription
- typestring<boolean | string | double | integer | json>requiredExampleDescriptionAllowedbooleanstringdoubleintegerjson
400
401
403
404
409
curl
curl --request POST \
--url https://api.optimizely.com/flags/v1//projects/{project_id}/flags/{flag_key}/variable_definitions \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"default_value": "0.0",
"key": "amount",
"type": "double"
}'javascript
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
var raw = JSON.stringify({
"default_value": "0.0",
"key": "amount",
"type": "double"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.optimizely.com/flags/v1//projects/{project_id}/flags/{flag_key}/variable_definitions", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.optimizely.com/flags/v1//projects/{project_id}/flags/{flag_key}/variable_definitions")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request.body = JSON.dump({
"default_value": "0.0",
"key": "amount",
"type": "double"
})
response = https.request(request)
puts response.read_body
python
import requests
import json
url = "https://api.optimizely.com/flags/v1//projects/{project_id}/flags/{flag_key}/variable_definitions"
payload = json.dumps({
"default_value": "0.0",
"key": "amount",
"type": "double"
})
headers = {
'accept': 'application/json',
'content-type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
200
// Create a variable definition
{
"default_value": "0.0",
"description": "This variable is used to configure the amount used for computing the discount",
"key": "amount",
"revision": 0,
"role": "admin",
"type": "double"
}400
// Malformed requests and invalid parameter names and types
401
// Invalid credentials
403
// Do not have permission to perform the operation
404
// Not found. No content
409
// Conflicting resource state with requested action