from meetkai_mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.flags.set_environment_state(key="<key>", env="<value>", enabled=True, overrides=[
{
"enabled": True,
"identity": "<value>",
},
], rollout_percentage=29814, rules=[
{
"conditions": [],
"enabled": False,
},
], value="<value>")
# Handle response
print(res)import { SDK } from "@meetkai/mka1";
const sdk = new SDK({
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await sdk.flags.setEnvironmentState({
key: "<key>",
env: "<value>",
featureFlagStateInput: {
enabled: true,
overrides: [
{
enabled: true,
identity: "<value>",
},
],
rolloutPercentage: 29814,
rules: [
{
conditions: [],
enabled: false,
},
],
value: "<value>",
},
});
console.log(result);
}
run();using MeetKai.MKA1;
using MeetKai.MKA1.Types.Components;
using MeetKai.MKA1.Types.Requests;
using System.Collections.Generic;
var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
SetFeatureFlagEnvironmentStateRequest req = new SetFeatureFlagEnvironmentStateRequest() {
Key = "<key>",
Env = "<value>",
Body = new FeatureFlagStateInput() {
Enabled = true,
Overrides = new List<FeatureFlagOverride>() {
new FeatureFlagOverride() {
Enabled = true,
Identity = "<value>",
},
},
RolloutPercentage = 29814,
Rules = new List<FeatureFlagRule>() {
new FeatureFlagRule() {
Conditions = new List<FeatureFlagCondition>() {},
Enabled = false,
},
},
Value = "<value>",
},
};
var res = await sdk.Flags.SetEnvironmentStateAsync(req);
// handle responsecurl --request PUT \
--url https://apigw.mka1.com/api/v1/flags/{key}/environments/{env} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enabled": true,
"overrides": [
{
"enabled": true,
"identity": "<string>",
"value": "<unknown>"
}
],
"rollout_percentage": 50,
"rules": [
{
"conditions": [
{
"trait": "<string>",
"value": "<unknown>"
}
],
"enabled": true,
"description": "<string>",
"rollout_percentage": 100,
"value": "<unknown>"
}
],
"value": "<unknown>"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enabled: true,
overrides: [{enabled: true, identity: '<string>', value: '<unknown>'}],
rollout_percentage: 50,
rules: [
{
conditions: [{trait: '<string>', value: '<unknown>'}],
enabled: true,
description: '<string>',
rollout_percentage: 100,
value: '<unknown>'
}
],
value: '<unknown>'
})
};
fetch('https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'enabled' => true,
'overrides' => [
[
'enabled' => true,
'identity' => '<string>',
'value' => '<unknown>'
]
],
'rollout_percentage' => 50,
'rules' => [
[
'conditions' => [
[
'trait' => '<string>',
'value' => '<unknown>'
]
],
'enabled' => true,
'description' => '<string>',
'rollout_percentage' => 100,
'value' => '<unknown>'
]
],
'value' => '<unknown>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}"
payload := strings.NewReader("{\n \"enabled\": true,\n \"overrides\": [\n {\n \"enabled\": true,\n \"identity\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"rollout_percentage\": 50,\n \"rules\": [\n {\n \"conditions\": [\n {\n \"trait\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"enabled\": true,\n \"description\": \"<string>\",\n \"rollout_percentage\": 100,\n \"value\": \"<unknown>\"\n }\n ],\n \"value\": \"<unknown>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"enabled\": true,\n \"overrides\": [\n {\n \"enabled\": true,\n \"identity\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"rollout_percentage\": 50,\n \"rules\": [\n {\n \"conditions\": [\n {\n \"trait\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"enabled\": true,\n \"description\": \"<string>\",\n \"rollout_percentage\": 100,\n \"value\": \"<unknown>\"\n }\n ],\n \"value\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enabled\": true,\n \"overrides\": [\n {\n \"enabled\": true,\n \"identity\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"rollout_percentage\": 50,\n \"rules\": [\n {\n \"conditions\": [\n {\n \"trait\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"enabled\": true,\n \"description\": \"<string>\",\n \"rollout_percentage\": 100,\n \"value\": \"<unknown>\"\n }\n ],\n \"value\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"enabled": true,
"overrides": [
{
"enabled": true,
"identity": "<string>",
"value": "<unknown>"
}
],
"rollout_percentage": 50,
"rules": [
{
"conditions": [
{
"operator": "eq",
"trait": "<string>",
"value": "<unknown>"
}
],
"enabled": true,
"description": "<string>",
"rollout_percentage": 100,
"value": "<unknown>"
}
],
"value": "<unknown>",
"updated_at": "2023-11-07T05:31:56Z",
"version": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}Replace a flag's settings in one environment
from meetkai_mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.flags.set_environment_state(key="<key>", env="<value>", enabled=True, overrides=[
{
"enabled": True,
"identity": "<value>",
},
], rollout_percentage=29814, rules=[
{
"conditions": [],
"enabled": False,
},
], value="<value>")
# Handle response
print(res)import { SDK } from "@meetkai/mka1";
const sdk = new SDK({
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await sdk.flags.setEnvironmentState({
key: "<key>",
env: "<value>",
featureFlagStateInput: {
enabled: true,
overrides: [
{
enabled: true,
identity: "<value>",
},
],
rolloutPercentage: 29814,
rules: [
{
conditions: [],
enabled: false,
},
],
value: "<value>",
},
});
console.log(result);
}
run();using MeetKai.MKA1;
using MeetKai.MKA1.Types.Components;
using MeetKai.MKA1.Types.Requests;
using System.Collections.Generic;
var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
SetFeatureFlagEnvironmentStateRequest req = new SetFeatureFlagEnvironmentStateRequest() {
Key = "<key>",
Env = "<value>",
Body = new FeatureFlagStateInput() {
Enabled = true,
Overrides = new List<FeatureFlagOverride>() {
new FeatureFlagOverride() {
Enabled = true,
Identity = "<value>",
},
},
RolloutPercentage = 29814,
Rules = new List<FeatureFlagRule>() {
new FeatureFlagRule() {
Conditions = new List<FeatureFlagCondition>() {},
Enabled = false,
},
},
Value = "<value>",
},
};
var res = await sdk.Flags.SetEnvironmentStateAsync(req);
// handle responsecurl --request PUT \
--url https://apigw.mka1.com/api/v1/flags/{key}/environments/{env} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enabled": true,
"overrides": [
{
"enabled": true,
"identity": "<string>",
"value": "<unknown>"
}
],
"rollout_percentage": 50,
"rules": [
{
"conditions": [
{
"trait": "<string>",
"value": "<unknown>"
}
],
"enabled": true,
"description": "<string>",
"rollout_percentage": 100,
"value": "<unknown>"
}
],
"value": "<unknown>"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enabled: true,
overrides: [{enabled: true, identity: '<string>', value: '<unknown>'}],
rollout_percentage: 50,
rules: [
{
conditions: [{trait: '<string>', value: '<unknown>'}],
enabled: true,
description: '<string>',
rollout_percentage: 100,
value: '<unknown>'
}
],
value: '<unknown>'
})
};
fetch('https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'enabled' => true,
'overrides' => [
[
'enabled' => true,
'identity' => '<string>',
'value' => '<unknown>'
]
],
'rollout_percentage' => 50,
'rules' => [
[
'conditions' => [
[
'trait' => '<string>',
'value' => '<unknown>'
]
],
'enabled' => true,
'description' => '<string>',
'rollout_percentage' => 100,
'value' => '<unknown>'
]
],
'value' => '<unknown>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}"
payload := strings.NewReader("{\n \"enabled\": true,\n \"overrides\": [\n {\n \"enabled\": true,\n \"identity\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"rollout_percentage\": 50,\n \"rules\": [\n {\n \"conditions\": [\n {\n \"trait\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"enabled\": true,\n \"description\": \"<string>\",\n \"rollout_percentage\": 100,\n \"value\": \"<unknown>\"\n }\n ],\n \"value\": \"<unknown>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"enabled\": true,\n \"overrides\": [\n {\n \"enabled\": true,\n \"identity\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"rollout_percentage\": 50,\n \"rules\": [\n {\n \"conditions\": [\n {\n \"trait\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"enabled\": true,\n \"description\": \"<string>\",\n \"rollout_percentage\": 100,\n \"value\": \"<unknown>\"\n }\n ],\n \"value\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigw.mka1.com/api/v1/flags/{key}/environments/{env}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enabled\": true,\n \"overrides\": [\n {\n \"enabled\": true,\n \"identity\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"rollout_percentage\": 50,\n \"rules\": [\n {\n \"conditions\": [\n {\n \"trait\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n ],\n \"enabled\": true,\n \"description\": \"<string>\",\n \"rollout_percentage\": 100,\n \"value\": \"<unknown>\"\n }\n ],\n \"value\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"enabled": true,
"overrides": [
{
"enabled": true,
"identity": "<string>",
"value": "<unknown>"
}
],
"rollout_percentage": 50,
"rules": [
{
"conditions": [
{
"operator": "eq",
"trait": "<string>",
"value": "<unknown>"
}
],
"enabled": true,
"description": "<string>",
"rollout_percentage": 100,
"value": "<unknown>"
}
],
"value": "<unknown>",
"updated_at": "2023-11-07T05:31:56Z",
"version": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}{
"error": "bad_request",
"message": "<string>",
"request_id": "<string>"
}Authorizations
Gateway auth: send Authorization: Bearer <mka1-api-key>. For multi-user server-side integrations, you can also send X-On-Behalf-Of: <external-user-id>.
Headers
The version of the state you read and edited. When supplied, the write is refused with 412 if anyone changed the state in the meantime, instead of silently overwriting them. * matches the current state unconditionally.
Optional external end-user identifier forwarded by the API gateway.
Path Parameters
^[a-z0-9][a-z0-9-]{0,62}$^[a-z0-9][a-z0-9-]{0,62}$Body
1000Show child attributes
Show child attributes
0 <= x <= 100100Show child attributes
Show child attributes
Any JSON value; its shape is constrained by the flag's value_type.
Response
Saved state
1000Show child attributes
Show child attributes
0 <= x <= 100100Show child attributes
Show child attributes
Any JSON value; its shape is constrained by the flag's value_type.
Opaque revision token. Send it back as If-Match on the next write to that state so a concurrent edit is refused rather than silently overwritten. Compare and echo it; never parse it.
Was this page helpful?