Overview
**Base API URL**: https://api.configcat.com If you prefer the swagger documentation, you can find it here: [Swagger UI](https://api.configcat.com/swagger). 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 [SDKs instead](https://configcat.com/docs/sdk-reference/overview). # OpenAPI Specification The complete specification is publicly available here: [swagger.json](v1/swagger.json). You can use it to generate client libraries in various languages with [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) or [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) to interact with this API. # Authentication This API uses the [Basic HTTP Authentication Scheme](https://en.wikipedia.org/wiki/Basic_access_authentication). <!-- ReDoc-Inject: <security-definitions> --> # Throttling and rate limits All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers: | Header | Description | | :- | :- | | X-Rate-Limit-Remaining | The maximum number of requests remaining in the current rate limit period. | | X-Rate-Limit-Reset | The 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.
ConfigCat Public Management API is a development API from configcat.com. Requests are authenticated with HTTP Basic auth. It is served over HTTPS. Its OpenAPI description documents 62 endpoints.
At a glance
- Authentication
- HTTP Basic
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Development
- Base URL
https://api.configcat.com- Version
- v1
- Endpoints
- 62
- OpenAPI
- Specification ↗
- Spec updated
- 2023-03-06
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.configcat.com/v1/me" \
-H "Accept: application/json" \
-H "Authorization: Basic BASE64_USER_PASSWORD"const response = await fetch("https://api.configcat.com/v1/me", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Basic BASE64_USER_PASSWORD",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://api.configcat.com/v1/me",
headers={
"Accept": "application/json",
"Authorization": "Basic BASE64_USER_PASSWORD",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| POST | /v1/code-references | — |
| POST | /v1/code-references/delete-reports | — |
| GET | /v1/configs/{configId} | Get Config |
| PUT | /v1/configs/{configId} | Update Config |
| DELETE | /v1/configs/{configId} | Delete Config |
| GET | /v1/configs/{configId}/deleted-settings | List Deleted Settings |
| GET | /v1/configs/{configId}/environments/{environmentId} | Get SDK Key |
| GET | /v1/configs/{configId}/environments/{environmentId}/values | Get values |
| GET | /v1/configs/{configId}/settings | List Flags |
| POST | /v1/configs/{configId}/settings | Create Flag |
| GET | /v1/environments/{environmentId} | Get Environment |
| PUT | /v1/environments/{environmentId} | Update Environment |
| DELETE | /v1/environments/{environmentId} | Delete Environment |
| POST | /v1/environments/{environmentId}/settings/{settingId}/integrationLinks/{integrationLinkType}/{key} | Add or update Integration link |
| DELETE | /v1/environments/{environmentId}/settings/{settingId}/integrationLinks/{integrationLinkType}/{key} | Delete Integration link |
| GET | /v1/environments/{environmentId}/settings/{settingId}/value | Get value |
| PUT | /v1/environments/{environmentId}/settings/{settingId}/value | Replace value |
| PATCH | /v1/environments/{environmentId}/settings/{settingId}/value | Update value |
| GET | /v1/integrationLink/{integrationLinkType}/{key}/details | Get Integration link |
| POST | /v1/jira/Connect | — |
| POST | /v1/jira/environments/{environmentId}/settings/{settingId}/integrationLinks/{key} | jira-add-or-update-integration-link |
| GET | /v1/me | Get authenticated user details |
| GET | /v1/organizations | List Organizations |
| GET | /v1/organizations/{organizationId}/auditlogs | List Audit log items for Organization |
| GET | /v1/organizations/{organizationId}/members | List Organization Members |
| POST | /v1/organizations/{organizationId}/members/{userId} | Update Member Permissions |
| DELETE | /v1/organizations/{organizationId}/members/{userId} | Delete Member from Organization |
| POST | /v1/organizations/{organizationId}/products | Create Product |
| GET | /v1/permissions/{permissionGroupId} | Get Permission Group |
| PUT | /v1/permissions/{permissionGroupId} | Update Permission Group |
| DELETE | /v1/permissions/{permissionGroupId} | Delete Permission Group |
| GET | /v1/products | List Products |
| GET | /v1/products/{productId} | Get Product |
| PUT | /v1/products/{productId} | Update Product |
| DELETE | /v1/products/{productId} | Delete Product |
| GET | /v1/products/{productId}/auditlogs | List Audit log items for Product |
| GET | /v1/products/{productId}/configs | List Configs |
| POST | /v1/products/{productId}/configs | Create Config |
| GET | /v1/products/{productId}/environments | List Environments |
| POST | /v1/products/{productId}/environments | Create Environment |
| GET | /v1/products/{productId}/members | List Product Members |
| POST | /v1/products/{productId}/members/invite | Invite Member |
| DELETE | /v1/products/{productId}/members/{userId} | Delete Member from Product |
| GET | /v1/products/{productId}/permissions | List Permission Groups |
| POST | /v1/products/{productId}/permissions | Create Permission Group |
| GET | /v1/products/{productId}/segments | List Segments |
| POST | /v1/products/{productId}/segments | Create Segment |
| GET | /v1/products/{productId}/tags | List Tags |
| POST | /v1/products/{productId}/tags | Create Tag |
| GET | /v1/segments/{segmentId} | Get Segment |
| PUT | /v1/segments/{segmentId} | Update Segment |
| DELETE | /v1/segments/{segmentId} | Delete Segment |
| GET | /v1/settings/{settingId} | Get Flag |
| PATCH | /v1/settings/{settingId} | Update Flag |
| DELETE | /v1/settings/{settingId} | Delete Flag |
| GET | /v1/settings/{settingKeyOrId}/value | Get value |
| PUT | /v1/settings/{settingKeyOrId}/value | Replace value |
| PATCH | /v1/settings/{settingKeyOrId}/value | Update value |
| GET | /v1/tags/{tagId} | Get Tag |
| PUT | /v1/tags/{tagId} | Update Tag |
| DELETE | /v1/tags/{tagId} | Delete Tag |
| GET | /v1/tags/{tagId}/settings | List Settings by Tag |
Questions
Does the ConfigCat Public Management API API need an API key?
Yes. The ConfigCat Public Management API API uses HTTP Basic authentication; the documentation explains how to get credentials.
Does the ConfigCat Public Management API API support HTTPS?
Yes, the ConfigCat Public Management API API is served over HTTPS.
How many endpoints does the ConfigCat Public Management API API have?
Its OpenAPI description lists 62 endpoints in version v1. All of them are shown on this page.
What are alternatives to the ConfigCat Public Management API API?
Other Development APIs include Cloudflare, Azure DevOps, IPify, App Store Connect API, StackExchange.
Similar development APIs
Compare alternatives →Cloudflare
DevelopmentManage DNS, CDN, Workers and other services; documented with an official OpenAPI 3.0 spec
Azure DevOps
DevelopmentThe Azure DevOps basic components of a REST API request/response pair
IPify
DevelopmentA simple IP Address API
App Store Connect API
DevelopmentThe data structure that represents an app store connect api resource.
StackExchange
DevelopmentQ&A forum for developers
IPinfo
DevelopmentAnother simple IP Address API
Listed from APIs.guru (CC0).