integrations.sh
← all integrations

ConfigCat Public Management API

OpenAPI apis-guru developer_tools

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:

HeaderDescription
X-Rate-Limit-RemainingThe maximum number of requests remaining in the current rate limit period.
X-Rate-Limit-ResetThe time when the current rate limit period resets.

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.getAuditlogs

    This 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.getDeletedSettings

    This endpoint returns the list of Feature Flags and Settings that were deleted from the given Config.

  • auditLogs.getOrganizationAuditlogs

    This 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.postV1CodeReferences

    POST /v1/code-references

  • codeReferences.postV1CodeReferencesDeleteReports

    POST /v1/code-references/delete-reports

  • configs.createConfig

    This endpoint creates a new Config in a specified Product identified by the productId parameter, which can be obtained from the endpoint.

  • configs.deleteConfig

    This endpoint removes a Config identified by the configId parameter.

  • configs.getConfig

    This endpoint returns the metadata of a Config identified by the configId.

  • configs.getConfigs

    This endpoint returns the list of the Configs that belongs to the given Product identified by the productId parameter, which can be obtained from the endpoint.

  • configs.updateConfig

    This endpoint updates a Config identified by the configId parameter.

  • environments.createEnvironment

    This endpoint creates a new Environment in a specified Product identified by the productId parameter, which can be obtained from the endpoint.

  • environments.deleteEnvironment

    This endpoint removes an Environment identified by the environmentId parameter.

  • environments.getEnvironment

    This endpoint returns the metadata of an Environment identified by the environmentId.

  • environments.getEnvironments

    This endpoint returns the list of the Environments that belongs to the given Product identified by the productId parameter, which can be obtained from the endpoint.

  • environments.updateEnvironment

    This endpoint updates an Environment identified by the environmentId parameter.

  • featureFlagSettingValues.getSettingValue

    This endpoint returns the value of a Feature Flag or Setting in a specified Environment identified by the environmentId parameter.

    The most important attributes in the response are the value, rolloutRules and percentageRules. The value represents 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 rolloutRules and percentageRules attributes 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.getSettingValues

    This endpoint returns the value of a specified Config's Feature Flags or Settings identified by the configId parameter in a specified Environment identified by the environmentId parameter.

    The most important attributes in the response are the value, rolloutRules and percentageRules. The value represents 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 rolloutRules and percentageRules attributes 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.replaceSettingValue

    This endpoint replaces the whole value of a Feature Flag or Setting in a specified Environment.

    Only the value, rolloutRules and percentageRules attributes 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.

    {	"rolloutPercentageItems": [		{			"percentage": 30,			"value": true		},		{			"percentage": 70,			"value": false		}	],	"rolloutRules": [],	"value": false}

    If we send a replace request body as below:

    {	"value": true}

    Then besides that the default value is set to true, all the Percentage Rules are deleted. So we get a response like this:

    {	"rolloutPercentageItems": [],	"rolloutRules": [],	"value": true}

    The rolloutRules property describes two types of rules:

    • Targeting rules: When you want to add or update a targenting rule, the comparator, comparisonAttribute, and comparisonValue members are required.
    • Segment rules: When you want to add add or update a segment rule, the segmentId which identifies the desired segment and the segmentComparator members are required.
  • featureFlagSettingValues.updateSettingValue

    This endpoint updates the value of a Feature Flag or Setting with a collection of operations in a specified Environment.

    Only the value, rolloutRules and percentageRules attributes 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.

    {	"rolloutPercentageItems": [		{			"percentage": 30,			"value": true		},		{			"percentage": 70,			"value": false		}	],	"rolloutRules": [],	"value": false}

    If we send an update request body as below:

    [	{		"op": "replace",		"path": "/value",		"value": true	}]

    Only the default value is going to be set to true and 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": true}

    The rolloutRules property describes two types of rules:

    • Targeting rules: When you want to add or update a targenting rule, the comparator, comparisonAttribute, and comparisonValue members are required.
    • Segment rules: When you want to add add or update a segment rule, the segmentId which identifies the desired segment and the segmentComparator members are required.
  • featureFlagSettingValuesUsingSdkKey.getSettingValueBySdkkey

    This endpoint returns the value of a Feature Flag or Setting in a specified Environment identified by the passed in the X-CONFIGCAT-SDKKEY header.

    The most important attributes in the response are the value, rolloutRules and percentageRules. The value represents 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 rolloutRules and percentageRules attributes 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.replaceSettingValueBySdkkey

    This endpoint replaces the value of a Feature Flag or Setting in a specified Environment identified by the passed in the X-CONFIGCAT-SDKKEY header.

    Only the value, rolloutRules and percentageRules attributes 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.

    {	"rolloutPercentageItems": [		{			"percentage": 30,			"value": true		},		{			"percentage": 70,			"value": false		}	],	"rolloutRules": [],	"value": false}

    If we send a replace request body as below:

    {	"value": true}

    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": [],	"rolloutRules": [],	"value": true}
  • featureFlagSettingValuesUsingSdkKey.updateSettingValueBySdkkey

    This 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-SDKKEY header.

    Only the value, rolloutRules and percentageRules attributes 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.

    {	"rolloutPercentageItems": [		{			"percentage": 30,			"value": true		},		{			"percentage": 70,			"value": false		}	],	"rolloutRules": [],	"value": false}

    If we send an update request body as below:

    [	{		"op": "replace",		"path": "/value",		"value": true	}]

    Only the default served value is going to be set to true and 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": true}
  • featureFlagsSettings.createSetting

    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.

  • featureFlagsSettings.deleteSetting

    This endpoint removes a Feature Flag or Setting from a specified Config, identified by the configId parameter.

  • featureFlagsSettings.getSetting

    This endpoint returns the metadata attributes of a Feature Flag or Setting identified by the settingId parameter.

  • featureFlagsSettings.getSettings

    This endpoint returns the list of the Feature Flags and Settings defined in a specified Config, identified by the configId parameter.

  • featureFlagsSettings.updateSetting

    This endpoint updates the metadata of a Feature Flag or Setting with a collection of 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 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.

    {	"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):

    [	{		"op": "replace",		"path": "/name",		"value": "This is the name without typos."	},	{		"op": "add",		"path": "/tags/-",		"value": 2	}]

    Only the name and tags are going to be updated and all the other attributes are remaining unchanged. So we get a response like this:

    {	"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.jiraAddOrUpdateIntegrationLink

    POST /v1/jira/environments/{environmentId}/settings/{settingId}/integrationLinks/{key}

  • integrationLinks.postV1JiraConnect

    POST /v1/jira/Connect

  • me.getMe
  • members.addMemberToGroup

    This endpoint adds a Member identified by the userId to 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.deleteOrganizationMember

    This endpoint removes a Member identified by the userId from the given Organization identified by the organizationId parameter.

  • members.deleteProductMember

    This endpoint removes a Member identified by the userId from the given Product identified by the productId parameter.

  • members.getOrganizationMembers

    This endpoint returns the list of Members that belongs to the given Organization, identified by the organizationId parameter.

  • members.getProductMembers

    This endpoint returns the list of Members that belongs to the given Product, identified by the productId parameter.

  • members.inviteMember

    This endpoint invites a Member into the given Product identified by the productId parameter.

  • organizations.getOrganizations

    This endpoint returns the list of the Organizations that belongs to the user.

  • permissionGroups.createPermissionGroup

    This endpoint creates a new Permission Group in a specified Product identified by the productId parameter, which can be obtained from the endpoint.

  • permissionGroups.deletePermissionGroup

    This endpoint removes a Permission Group identified by the permissionGroupId parameter.

  • permissionGroups.getPermissionGroup

    This endpoint returns the metadata of a Permission Group identified by the permissionGroupId.

  • permissionGroups.getPermissionGroups

    This endpoint returns the list of the Permission Groups that belongs to the given Product identified by the productId parameter, which can be obtained from the endpoint.

  • permissionGroups.updatePermissionGroup

    This endpoint updates a Permission Group identified by the permissionGroupId parameter.

  • products.createProduct

    This endpoint creates a new Product in a specified Organization identified by the organizationId parameter, which can be obtained from the endpoint.

  • products.deleteProduct

    This endpoint removes a Product identified by the productId parameter.

  • products.getProduct

    This endpoint returns the metadata of a Product identified by the productId.

  • products.getProducts

    This endpoint returns the list of the Products that belongs to the user.

  • products.updateProduct

    This endpoint updates a Product identified by the productId parameter.

  • sdkKeys.getSdkKeys

    This endpoint returns the SDK Key for your Config in a specified Environment.

  • segments.createSegment

    This endpoint creates a new Segment in a specified Product identified by the productId parameter, which can be obtained from the endpoint.

  • segments.deleteSegment

    This endpoint removes a Segment identified by the segmentId parameter.

  • segments.getSegment

    This endpoint returns the metadata of a Segment identified by the segmentId.

  • segments.getSegments

    This endpoint returns the list of the Segments that belongs to the given Product identified by the productId parameter, which can be obtained from the endpoint.

  • segments.updateSegment

    This endpoint updates a Segment identified by the segmentId parameter.

  • tags.createTag

    This endpoint creates a new Tag in a specified Product identified by the productId parameter, which can be obtained from the endpoint.

  • tags.deleteTag

    This endpoint deletes a Tag identified by the tagId parameter. To remove a Tag from a Feature Flag or Setting use the endpoint.

  • tags.getSettingsByTag

    This endpoint returns the list of the Settings that has the specified Tag, identified by the tagId parameter.

  • tags.getTag

    This endpoint returns the metadata of a Tag identified by the tagId.

  • tags.getTags

    This endpoint returns the list of the Tags in a specified Product, identified by the productId parameter.

  • tags.updateTag

    This endpoint updates a Tag identified by the tagId parameter.

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools