All URIs are relative to https://api.configcat.com
| Method | HTTP request | Description |
|---|---|---|
| createSetting | POST /v1/configs/{configId}/settings | Create Flag |
| deleteSetting | DELETE /v1/settings/{settingId} | Delete Flag |
| getPredefinedVariations | GET /v1/settings/{settingId}/predefined-variations | Get predefined variations (Beta) |
| getSetting | GET /v1/settings/{settingId} | Get Flag |
| getSettings | GET /v1/configs/{configId}/settings | List Flags |
| replaceSetting | PUT /v1/settings/{settingId} | Replace Flag |
| updatePredefinedVariations | PUT /v1/settings/{settingId}/predefined-variations | Update predefined variations (Beta) |
| updateSetting | PATCH /v1/settings/{settingId} | Update Flag |
SettingModel createSetting(configId, createSettingInitialValues)
Create Flag
This endpoint creates a new Feature Flag or Setting in a specified Config identified by the `configId` parameter. Important: The `key` attribute must be unique within the given Config.
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
UUID configId = UUID.randomUUID(); // UUID | The identifier of the Config.
CreateSettingInitialValues createSettingInitialValues = new CreateSettingInitialValues(); // CreateSettingInitialValues |
try {
SettingModel result = apiInstance.createSetting(configId, createSettingInitialValues);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#createSetting");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| configId | UUID | The identifier of the Config. | |
| createSettingInitialValues | CreateSettingInitialValues |
- Content-Type: application/json, text/json, application/*+json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 201 | When the creation was successful. | - |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |
deleteSetting(settingId)
Delete Flag
This endpoint removes a Feature Flag or Setting from a specified Config, identified by the `configId` parameter.
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
Integer settingId = 56; // Integer | The identifier of the Setting.
try {
apiInstance.deleteSetting(settingId);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#deleteSetting");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| settingId | Integer | The identifier of the Setting. |
null (empty response body)
- Content-Type: Not defined
- Accept: Not defined
| Status code | Description | Response headers |
|---|---|---|
| 204 | When the delete was successful. | - |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |
PredefinedVariationsWithUsagesModel getPredefinedVariations(settingId)
Get predefined variations (Beta)
This endpoint returns the predefined variations along with their usages in the Environments for a Feature Flag or Setting identified by the `settingId` parameter. Beta feature: The feature is currently in closed beta state and cannot be used.
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
Integer settingId = 56; // Integer | The identifier of the Setting.
try {
PredefinedVariationsWithUsagesModel result = apiInstance.getPredefinedVariations(settingId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#getPredefinedVariations");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| settingId | Integer | The identifier of the Setting. |
PredefinedVariationsWithUsagesModel
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | When the update was successful. | - |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |
SettingModel getSetting(settingId)
Get Flag
This endpoint returns the metadata attributes of a Feature Flag or Setting identified by the `settingId` parameter.
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
Integer settingId = 56; // Integer | The identifier of the Setting.
try {
SettingModel result = apiInstance.getSetting(settingId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#getSetting");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| settingId | Integer | The identifier of the Setting. |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | When everything is ok, the setting data returned. | - |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |
List<SettingModel> getSettings(configId)
List Flags
This endpoint returns the list of the Feature Flags and Settings defined in a specified Config, identified by the `configId` parameter.
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
UUID configId = UUID.randomUUID(); // UUID | The identifier of the Config.
try {
List<SettingModel> result = apiInstance.getSettings(configId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#getSettings");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| configId | UUID | The identifier of the Config. |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | - | |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |
SettingModel replaceSetting(settingId, replaceSettingModel)
Replace Flag
This endpoint replaces the whole value of a Feature Flag or Setting identified by the `settingId` parameter. Important: As this endpoint is doing a complete replace, it's important to set every other attribute that you don't want to change in its original state. Not listing one means it will reset.
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
Integer settingId = 56; // Integer | The identifier of the Setting.
ReplaceSettingModel replaceSettingModel = new ReplaceSettingModel(); // ReplaceSettingModel |
try {
SettingModel result = apiInstance.replaceSetting(settingId, replaceSettingModel);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#replaceSetting");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| settingId | Integer | The identifier of the Setting. | |
| replaceSettingModel | ReplaceSettingModel |
- Content-Type: application/json, text/json, application/*+json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | When the replace was successful. | - |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |
PredefinedVariationsModel updatePredefinedVariations(settingId, updatePredefinedVariationsRequest)
Update predefined variations (Beta)
This endpoint updates the predefined variations for a Feature Flag or Setting identified by the `settingId` parameter. Important: You can only update a predefined variation's value if it is not used anywhere in your feature flags. Beta feature: The feature is currently in closed beta state and cannot be used.
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
Integer settingId = 56; // Integer | The identifier of the Setting.
UpdatePredefinedVariationsRequest updatePredefinedVariationsRequest = new UpdatePredefinedVariationsRequest(); // UpdatePredefinedVariationsRequest |
try {
PredefinedVariationsModel result = apiInstance.updatePredefinedVariations(settingId, updatePredefinedVariationsRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#updatePredefinedVariations");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| settingId | Integer | The identifier of the Setting. | |
| updatePredefinedVariationsRequest | UpdatePredefinedVariationsRequest |
- Content-Type: application/json, text/json, application/*+json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | When the update was successful. | - |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |
SettingModel updateSetting(settingId, jsonPatchOperation)
Update Flag
This endpoint updates the metadata of a Feature Flag or Setting with a collection of JSON Patch operations in a specified Config. Only the `name`, `hint` and `tags` attributes are modifiable by this endpoint. The `tags` attribute is a simple collection of the tag IDs attached to the given setting. The advantage of using JSON Patch is that you can describe individual update operations on a resource without touching attributes that you don't want to change. For example: We have the following resource. ```json { "settingId": 5345, "key": "myGrandFeature", "name": "Tihs is a naem with soem typos.", "hint": "This flag controls my grandioso feature.", "settingType": "boolean", "tags": [ { "tagId": 0, "name": "sample tag", "color": "whale" } ] } ``` If we send an update request body as below (it changes the `name` and adds the already existing tag with the id `2`): ```json [ { "op": "replace", "path": "/name", "value": "This is the name without typos." }, { "op": "add", "path": "/tags/-", "value": 2 } ] ``` Only the `name` and `tags` are updated and all the other attributes remain unchanged. So we get a response like this: ```json { "settingId": 5345, "key": "myGrandFeature", "name": "This is the name without typos.", "hint": "This flag controls my grandioso feature.", "settingType": "boolean", "tags": [ { "tagId": 0, "name": "sample tag", "color": "whale" }, { "tagId": 2, "name": "another tag", "color": "koala" } ] } ```
// Import classes:
import com.configcat.publicapi.java.client.ApiClient;
import com.configcat.publicapi.java.client.ApiException;
import com.configcat.publicapi.java.client.Configuration;
import com.configcat.publicapi.java.client.auth.*;
import com.configcat.publicapi.java.client.models.*;
import com.configcat.publicapi.java.client.api.FeatureFlagsSettingsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.configcat.com");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
FeatureFlagsSettingsApi apiInstance = new FeatureFlagsSettingsApi(defaultClient);
Integer settingId = 56; // Integer | The identifier of the Setting.
List<JsonPatchOperation> jsonPatchOperation = Arrays.asList(); // List<JsonPatchOperation> |
try {
SettingModel result = apiInstance.updateSetting(settingId, jsonPatchOperation);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsSettingsApi#updateSetting");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| settingId | Integer | The identifier of the Setting. | |
| jsonPatchOperation | List<JsonPatchOperation> |
- Content-Type: application/json, text/json, application/*+json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | When the update was successful. | - |
| 400 | Bad request. | - |
| 404 | Not found. | - |
| 429 | Too many requests. In case of the request rate exceeds the rate limits. | - |