ConfigCat Public Management API
Base API URL:
If you prefer the swagger documentation, you can find it here: .
The purpose of this API is to access the ConfigCat platform programmatically. You can Create, Read, Update and Delete any entities like Feature Flags, Configs, Environments or Products within ConfigCat.
The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON and JSON+HAL format. Do not use this API for accessing and evaluating feature flag values. Use the .
OpenAPI Specification
The complete specification is publicly available here: swagger.json [blocked]. You can use it to generate client libraries in various languages with or to interact with this API.
Authentication
This API uses the .
Throttling and rate limits
All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers:
When the rate limit is exceeded by a request, the API returns with a HTTP 429 - Too many requests status along with a Retry-After HTTP header.
- Homepage
- https://api.apis.guru/v2/specs/configcat.com/v1.json
- Provider
- configcat.com
- OpenAPI version
- 3.0.1
- Spec (JSON)
- https://api.apis.guru/v2/specs/configcat.com/v1/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/configcat.com/v1/openapi.yaml
Tools (64)
Extracted live via the executor SDK.
-
auditLogs.getAuditlogsThis endpoint returns the list of Audit log items for a given Product and the result can be optionally filtered by Config and/or Environment.
-
auditLogs.getDeletedSettingsThis endpoint returns the list of Feature Flags and Settings that were deleted from the given Config.
-
auditLogs.getOrganizationAuditlogsThis endpoint returns the list of Audit log items for a given Organization and the result can be optionally filtered by Product and/or Config and/or Environment.
-
codeReferences.postV1CodeReferencesPOST /v1/code-references
-
codeReferences.postV1CodeReferencesDeleteReportsPOST /v1/code-references/delete-reports
-
configs.createConfigThis endpoint creates a new Config in a specified Product identified by the
productIdparameter, which can be obtained from the endpoint. -
configs.deleteConfigThis endpoint removes a Config identified by the
configIdparameter. -
configs.getConfigThis endpoint returns the metadata of a Config identified by the
configId. -
configs.getConfigsThis endpoint returns the list of the Configs that belongs to the given Product identified by the
productIdparameter, which can be obtained from the endpoint. -
configs.updateConfigThis endpoint updates a Config identified by the
configIdparameter. -
environments.createEnvironmentThis endpoint creates a new Environment in a specified Product identified by the
productIdparameter, which can be obtained from the endpoint. -
environments.deleteEnvironmentThis endpoint removes an Environment identified by the
environmentIdparameter. -
environments.getEnvironmentThis endpoint returns the metadata of an Environment identified by the
environmentId. -
environments.getEnvironmentsThis endpoint returns the list of the Environments that belongs to the given Product identified by the
productIdparameter, which can be obtained from the endpoint. -
environments.updateEnvironmentThis endpoint updates an Environment identified by the
environmentIdparameter. -
featureFlagSettingValues.getSettingValueThis endpoint returns the value of a Feature Flag or Setting in a specified Environment identified by the
environmentIdparameter.The most important attributes in the response are the
value,rolloutRulesandpercentageRules. Thevaluerepresents what the clients will get when the evaluation requests of our SDKs are not matching to any of the defined Targeting or Percentage Rules, or when there are no additional rules to evaluate.The
rolloutRulesandpercentageRulesattributes are representing the current Targeting and Percentage Rules configuration of the actual Feature Flag or Setting in an ordered collection, which means the order of the returned rules is matching to the evaluation order. You can read more about these rules . -
featureFlagSettingValues.getSettingValuesThis endpoint returns the value of a specified Config's Feature Flags or Settings identified by the
configIdparameter in a specified Environment identified by theenvironmentIdparameter.The most important attributes in the response are the
value,rolloutRulesandpercentageRules. Thevaluerepresents what the clients will get when the evaluation requests of our SDKs are not matching to any of the defined Targeting or Percentage Rules, or when there are no additional rules to evaluate.The
rolloutRulesandpercentageRulesattributes are representing the current Targeting and Percentage Rules configuration of the actual Feature Flag or Setting in an ordered collection, which means the order of the returned rules is matching to the evaluation order. You can read more about these rules . -
featureFlagSettingValues.replaceSettingValueThis endpoint replaces the whole value of a Feature Flag or Setting in a specified Environment.
Only the
value,rolloutRulesandpercentageRulesattributes are modifiable by this endpoint.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 that it will reset.
For example: We have the following resource.
If we send a replace request body as below:
Then besides that the default value is set to
true, all the Percentage Rules are deleted. So we get a response like this:The
rolloutRulesproperty describes two types of rules:- Targeting rules: When you want to add or update a targenting rule, the
comparator,comparisonAttribute, andcomparisonValuemembers are required. - Segment rules: When you want to add add or update a segment rule, the
segmentIdwhich identifies the desired segment and thesegmentComparatormembers are required.
{ "rolloutPercentageItems": [ { "percentage": 30, "value": true }, { "percentage": 70, "value": false } ], "rolloutRules": [], "value": false}{ "value": true}{ "rolloutPercentageItems": [], "rolloutRules": [], "value": true} - Targeting rules: When you want to add or update a targenting rule, the
-
featureFlagSettingValues.updateSettingValueThis endpoint updates the value of a Feature Flag or Setting with a collection of operations in a specified Environment.
Only the
value,rolloutRulesandpercentageRulesattributes are modifiable by this endpoint.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. It supports collection reordering, so it also can be used for reordering the targeting rules of a Feature Flag or Setting.
For example: We have the following resource.
If we send an update request body as below:
Only the default value is going to be set to
trueand all the Percentage Rules are remaining unchanged. So we get a response like this:The
rolloutRulesproperty describes two types of rules:- Targeting rules: When you want to add or update a targenting rule, the
comparator,comparisonAttribute, andcomparisonValuemembers are required. - Segment rules: When you want to add add or update a segment rule, the
segmentIdwhich identifies the desired segment and thesegmentComparatormembers are required.
{ "rolloutPercentageItems": [ { "percentage": 30, "value": true }, { "percentage": 70, "value": false } ], "rolloutRules": [], "value": false}[ { "op": "replace", "path": "/value", "value": true }]{ "rolloutPercentageItems": [ { "percentage": 30, "value": true }, { "percentage": 70, "value": false } ], "rolloutRules": [], "value": true} - Targeting rules: When you want to add or update a targenting rule, the
-
featureFlagSettingValuesUsingSdkKey.getSettingValueBySdkkeyThis endpoint returns the value of a Feature Flag or Setting in a specified Environment identified by the passed in the
X-CONFIGCAT-SDKKEYheader.The most important attributes in the response are the
value,rolloutRulesandpercentageRules. Thevaluerepresents what the clients will get when the evaluation requests of our SDKs are not matching to any of the defined Targeting or Percentage Rules, or when there are no additional rules to evaluate.The
rolloutRulesandpercentageRulesattributes are representing the current Targeting and Percentage Rules configuration of the actual Feature Flag or Setting in an ordered collection, which means the order of the returned rules is matching to the evaluation order. You can read more about these rules . -
featureFlagSettingValuesUsingSdkKey.replaceSettingValueBySdkkeyThis endpoint replaces the value of a Feature Flag or Setting in a specified Environment identified by the passed in the
X-CONFIGCAT-SDKKEYheader.Only the
value,rolloutRulesandpercentageRulesattributes are modifiable by this endpoint.Important: As this endpoint is doing a complete replace, it's important to set every other attribute that you don't want to change to its original state. Not listing one means that it will reset.
For example: We have the following resource.
If we send a replace request body as below:
Then besides that the default served value is set to
true, all the Percentage Rules are deleted. So we get a response like this:{ "rolloutPercentageItems": [ { "percentage": 30, "value": true }, { "percentage": 70, "value": false } ], "rolloutRules": [], "value": false}{ "value": true}{ "rolloutPercentageItems": [], "rolloutRules": [], "value": true} -
featureFlagSettingValuesUsingSdkKey.updateSettingValueBySdkkeyThis endpoint updates the value of a Feature Flag or Setting with a collection of operations in a specified Environment identified by the passed in the
X-CONFIGCAT-SDKKEYheader.Only the
value,rolloutRulesandpercentageRulesattributes are modifiable by this endpoint.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. It supports collection reordering, so it also can be used for reordering the targeting rules of a Feature Flag or Setting.
For example: We have the following resource.
If we send an update request body as below:
Only the default served value is going to be set to
trueand all the Percentage Rules are remaining unchanged. So we get a response like this:{ "rolloutPercentageItems": [ { "percentage": 30, "value": true }, { "percentage": 70, "value": false } ], "rolloutRules": [], "value": false}[ { "op": "replace", "path": "/value", "value": true }]{ "rolloutPercentageItems": [ { "percentage": 30, "value": true }, { "percentage": 70, "value": false } ], "rolloutRules": [], "value": true} -
featureFlagsSettings.createSettingThis endpoint creates a new Feature Flag or Setting in a specified Config identified by the
configIdparameter.Important: The
keyattribute must be unique within the given Config. -
featureFlagsSettings.deleteSettingThis endpoint removes a Feature Flag or Setting from a specified Config, identified by the
configIdparameter. -
featureFlagsSettings.getSettingThis endpoint returns the metadata attributes of a Feature Flag or Setting identified by the
settingIdparameter. -
featureFlagsSettings.getSettingsThis endpoint returns the list of the Feature Flags and Settings defined in a specified Config, identified by the
configIdparameter. -
featureFlagsSettings.updateSettingThis endpoint updates the metadata of a Feature Flag or Setting with a collection of operations in a specified Config.
Only the
name,hintandtagsattributes are modifiable by this endpoint. Thetagsattribute is a simple collection of the 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.
If we send an update request body as below (it changes the name and adds the already existing tag with the id 2):
Only the
nameandtagsare going to be updated and all the other attributes are remaining unchanged. So we get a response like this:{ "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" } ]}[ { "op": "replace", "path": "/name", "value": "This is the name without typos." }, { "op": "add", "path": "/tags/-", "value": 2 }]{ "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" } ]} -
integrationLinks.addOrUpdateIntegrationLink -
integrationLinks.deleteIntegrationLink -
integrationLinks.getIntegrationLinkDetails -
integrationLinks.jiraAddOrUpdateIntegrationLinkPOST /v1/jira/environments/{environmentId}/settings/{settingId}/integrationLinks/{key}
-
integrationLinks.postV1JiraConnectPOST /v1/jira/Connect
-
me.getMe -
members.addMemberToGroupThis endpoint adds a Member identified by the
userIdto one or more Permission Groups. This endpoint can also be used to move a Member between Permission Groups within a Product. Only a single Permission Group can be set per Product. -
members.deleteOrganizationMemberThis endpoint removes a Member identified by the
userIdfrom the given Organization identified by theorganizationIdparameter. -
members.deleteProductMemberThis endpoint removes a Member identified by the
userIdfrom the given Product identified by theproductIdparameter. -
members.getOrganizationMembersThis endpoint returns the list of Members that belongs to the given Organization, identified by the
organizationIdparameter. -
members.getProductMembersThis endpoint returns the list of Members that belongs to the given Product, identified by the
productIdparameter. -
members.inviteMemberThis endpoint invites a Member into the given Product identified by the
productIdparameter. -
organizations.getOrganizationsThis endpoint returns the list of the Organizations that belongs to the user.
-
permissionGroups.createPermissionGroupThis endpoint creates a new Permission Group in a specified Product identified by the
productIdparameter, which can be obtained from the endpoint. -
permissionGroups.deletePermissionGroupThis endpoint removes a Permission Group identified by the
permissionGroupIdparameter. -
permissionGroups.getPermissionGroupThis endpoint returns the metadata of a Permission Group identified by the
permissionGroupId. -
permissionGroups.getPermissionGroupsThis endpoint returns the list of the Permission Groups that belongs to the given Product identified by the
productIdparameter, which can be obtained from the endpoint. -
permissionGroups.updatePermissionGroupThis endpoint updates a Permission Group identified by the
permissionGroupIdparameter. -
products.createProductThis endpoint creates a new Product in a specified Organization identified by the
organizationIdparameter, which can be obtained from the endpoint. -
products.deleteProductThis endpoint removes a Product identified by the
productIdparameter. -
products.getProductThis endpoint returns the metadata of a Product identified by the
productId. -
products.getProductsThis endpoint returns the list of the Products that belongs to the user.
-
products.updateProductThis endpoint updates a Product identified by the
productIdparameter. -
sdkKeys.getSdkKeysThis endpoint returns the SDK Key for your Config in a specified Environment.
-
segments.createSegmentThis endpoint creates a new Segment in a specified Product identified by the
productIdparameter, which can be obtained from the endpoint. -
segments.deleteSegmentThis endpoint removes a Segment identified by the
segmentIdparameter. -
segments.getSegmentThis endpoint returns the metadata of a Segment identified by the
segmentId. -
segments.getSegmentsThis endpoint returns the list of the Segments that belongs to the given Product identified by the
productIdparameter, which can be obtained from the endpoint. -
segments.updateSegmentThis endpoint updates a Segment identified by the
segmentIdparameter. -
tags.createTagThis endpoint creates a new Tag in a specified Product identified by the
productIdparameter, which can be obtained from the endpoint. -
tags.deleteTagThis endpoint deletes a Tag identified by the
tagIdparameter. To remove a Tag from a Feature Flag or Setting use the endpoint. -
tags.getSettingsByTagThis endpoint returns the list of the Settings that has the specified Tag, identified by the
tagIdparameter. -
tags.getTagThis endpoint returns the metadata of a Tag identified by the
tagId. -
tags.getTagsThis endpoint returns the list of the Tags in a specified Product, identified by the
productIdparameter. -
tags.updateTagThis endpoint updates a Tag identified by the
tagIdparameter. -
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools