Skip to content

configcat/configcat-publicapi-java-client

Repository files navigation

configcat-publicapi-java-client

ConfigCat Public Management API

  • API version: v1
    • Build date: 2024-09-10T12:39:37.024419310Z[Etc/UTC]
    • Generator version: 7.7.0

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.

Base API URL: https://api.configcat.com

If you prefer the swagger documentation, you can find it here: Swagger UI.

The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON format.

Important: Do not use this API for accessing and evaluating feature flag values. Use the SDKs or the ConfigCat Proxy instead.

OpenAPI Specification

The complete specification is publicly available in the following formats:

You can use it to generate client libraries in various languages with OpenAPI Generator or Swagger Codegen to interact with this API.

Authentication

This API uses the Basic HTTP Authentication Scheme.

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.

For more information, please visit https://configcat.com

Automatically generated by the OpenAPI Generator

Requirements

Building the API client library requires:

  1. Java 1.8+
  2. Maven (3.8.3+)/Gradle (7.2+)

Installation

To install the API client library to your local Maven repository, simply execute:

mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn clean deploy

Refer to the OSSRH Guide for more information.

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>com.configcat</groupId>
  <artifactId>configcat-publicapi-java-client</artifactId>
  <version>v1</version>
  <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

  repositories {
    mavenCentral()     // Needed if the 'configcat-publicapi-java-client' jar has been published to maven central.
    mavenLocal()       // Needed if the 'configcat-publicapi-java-client' jar has been published to the local maven repo.
  }

  dependencies {
     implementation "com.configcat:configcat-publicapi-java-client:v1"
  }

Others

At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/configcat-publicapi-java-client-v1.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

// 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.AuditLogsApi;

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");

    AuditLogsApi apiInstance = new AuditLogsApi(defaultClient);
    UUID productId = UUID.randomUUID(); // UUID | The identifier of the Product.
    UUID configId = UUID.randomUUID(); // UUID | The identifier of the Config.
    UUID environmentId = UUID.randomUUID(); // UUID | The identifier of the Environment.
    String auditLogType = "productCreated"; // String | Filter Audit logs by Audit log type.
    OffsetDateTime fromUtcDateTime = OffsetDateTime.now(); // OffsetDateTime | Filter Audit logs by starting UTC date.
    OffsetDateTime toUtcDateTime = OffsetDateTime.now(); // OffsetDateTime | Filter Audit logs by ending UTC date.
    try {
      List<AuditLogItemModel> result = apiInstance.getAuditlogs(productId, configId, environmentId, auditLogType, fromUtcDateTime, toUtcDateTime);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling AuditLogsApi#getAuditlogs");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Documentation for API Endpoints

All URIs are relative to https://api.configcat.com

Class Method HTTP request Description
AuditLogsApi getAuditlogs GET /v1/products/{productId}/auditlogs List Audit log items for Product
AuditLogsApi getDeletedSettings GET /v1/configs/{configId}/deleted-settings List Deleted Settings
AuditLogsApi getOrganizationAuditlogs GET /v1/organizations/{organizationId}/auditlogs List Audit log items for Organization
CodeReferencesApi v1CodeReferencesDeleteReportsPost POST /v1/code-references/delete-reports Delete Reference reports
CodeReferencesApi v1CodeReferencesPost POST /v1/code-references Upload References
CodeReferencesApi v1SettingsSettingIdCodeReferencesGet GET /v1/settings/{settingId}/code-references Get References for Feature Flag or Setting
ConfigsApi createConfig POST /v1/products/{productId}/configs Create Config
ConfigsApi deleteConfig DELETE /v1/configs/{configId} Delete Config
ConfigsApi getConfig GET /v1/configs/{configId} Get Config
ConfigsApi getConfigs GET /v1/products/{productId}/configs List Configs
ConfigsApi updateConfig PUT /v1/configs/{configId} Update Config
EnvironmentsApi createEnvironment POST /v1/products/{productId}/environments Create Environment
EnvironmentsApi deleteEnvironment DELETE /v1/environments/{environmentId} Delete Environment
EnvironmentsApi getEnvironment GET /v1/environments/{environmentId} Get Environment
EnvironmentsApi getEnvironments GET /v1/products/{productId}/environments List Environments
EnvironmentsApi updateEnvironment PUT /v1/environments/{environmentId} Update Environment
FeatureFlagSettingValuesApi getSettingValue GET /v1/environments/{environmentId}/settings/{settingId}/value Get value
FeatureFlagSettingValuesApi getSettingValues GET /v1/configs/{configId}/environments/{environmentId}/values Get values
FeatureFlagSettingValuesApi postSettingValues POST /v1/configs/{configId}/environments/{environmentId}/values Post values
FeatureFlagSettingValuesApi replaceSettingValue PUT /v1/environments/{environmentId}/settings/{settingId}/value Replace value
FeatureFlagSettingValuesApi updateSettingValue PATCH /v1/environments/{environmentId}/settings/{settingId}/value Update value
FeatureFlagSettingValuesUsingSdkKeyApi getSettingValueBySdkkey GET /v1/settings/{settingKeyOrId}/value Get value
FeatureFlagSettingValuesUsingSdkKeyApi replaceSettingValueBySdkkey PUT /v1/settings/{settingKeyOrId}/value Replace value
FeatureFlagSettingValuesUsingSdkKeyApi updateSettingValueBySdkkey PATCH /v1/settings/{settingKeyOrId}/value Update value
FeatureFlagSettingValuesUsingSdkKeyV2Api getSettingValueBySdkkeyV2 GET /v2/settings/{settingKeyOrId}/value Get value
FeatureFlagSettingValuesUsingSdkKeyV2Api replaceSettingValueBySdkkeyV2 PUT /v2/settings/{settingKeyOrId}/value Replace value
FeatureFlagSettingValuesUsingSdkKeyV2Api updateSettingValueBySdkkeyV2 PATCH /v2/settings/{settingKeyOrId}/value Update value
FeatureFlagSettingValuesV2Api getSettingValueV2 GET /v2/environments/{environmentId}/settings/{settingId}/value Get value
FeatureFlagSettingValuesV2Api getSettingValuesV2 GET /v2/configs/{configId}/environments/{environmentId}/values Get values
FeatureFlagSettingValuesV2Api postSettingValuesV2 POST /v2/configs/{configId}/environments/{environmentId}/values Post values
FeatureFlagSettingValuesV2Api replaceSettingValueV2 PUT /v2/environments/{environmentId}/settings/{settingId}/value Replace value
FeatureFlagSettingValuesV2Api updateSettingValueV2 PATCH /v2/environments/{environmentId}/settings/{settingId}/value Update value
FeatureFlagsSettingsApi createSetting POST /v1/configs/{configId}/settings Create Flag
FeatureFlagsSettingsApi deleteSetting DELETE /v1/settings/{settingId} Delete Flag
FeatureFlagsSettingsApi getSetting GET /v1/settings/{settingId} Get Flag
FeatureFlagsSettingsApi getSettings GET /v1/configs/{configId}/settings List Flags
FeatureFlagsSettingsApi replaceSetting PUT /v1/settings/{settingId} Replace Flag
FeatureFlagsSettingsApi updateSetting PATCH /v1/settings/{settingId} Update Flag
IntegrationLinksApi addOrUpdateIntegrationLink POST /v1/environments/{environmentId}/settings/{settingId}/integrationLinks/{integrationLinkType}/{key} Add or update Integration link
IntegrationLinksApi deleteIntegrationLink DELETE /v1/environments/{environmentId}/settings/{settingId}/integrationLinks/{integrationLinkType}/{key} Delete Integration link
IntegrationLinksApi getIntegrationLinkDetails GET /v1/integrationLink/{integrationLinkType}/{key}/details Get Integration link
IntegrationLinksApi jiraAddOrUpdateIntegrationLink POST /v1/jira/environments/{environmentId}/settings/{settingId}/integrationLinks/{key}
IntegrationLinksApi jiraConnect POST /v1/jira/connect
IntegrationsApi createIntegration POST /v1/products/{productId}/integrations Create Integration
IntegrationsApi deleteIntegration DELETE /v1/integrations/{integrationId} Delete Integration
IntegrationsApi getIntegration GET /v1/integrations/{integrationId} Get Integration
IntegrationsApi getIntegrations GET /v1/products/{productId}/integrations List Integrations
IntegrationsApi updateIntegration PUT /v1/integrations/{integrationId} Update Integration
MeApi getMe GET /v1/me Get authenticated user details
MembersApi addMemberToGroup POST /v1/organizations/{organizationId}/members/{userId} Update Member Permissions
MembersApi deleteInvitation DELETE /v1/invitations/{invitationId} Delete Invitation
MembersApi deleteOrganizationMember DELETE /v1/organizations/{organizationId}/members/{userId} Delete Member from Organization
MembersApi deleteProductMember DELETE /v1/products/{productId}/members/{userId} Delete Member from Product
MembersApi getOrganizationMembers GET /v1/organizations/{organizationId}/members List Organization Members
MembersApi getOrganizationMembersV2 GET /v2/organizations/{organizationId}/members List Organization Members
MembersApi getPendingInvitations GET /v1/products/{productId}/invitations List Pending Invitations in Product
MembersApi getPendingInvitationsOrg GET /v1/organizations/{organizationId}/invitations List Pending Invitations in Organization
MembersApi getProductMembers GET /v1/products/{productId}/members List Product Members
MembersApi inviteMember POST /v1/products/{productId}/members/invite Invite Member
OrganizationsApi getOrganizations GET /v1/organizations List Organizations
PermissionGroupsApi createPermissionGroup POST /v1/products/{productId}/permissions Create Permission Group
PermissionGroupsApi deletePermissionGroup DELETE /v1/permissions/{permissionGroupId} Delete Permission Group
PermissionGroupsApi getPermissionGroup GET /v1/permissions/{permissionGroupId} Get Permission Group
PermissionGroupsApi getPermissionGroups GET /v1/products/{productId}/permissions List Permission Groups
PermissionGroupsApi updatePermissionGroup PUT /v1/permissions/{permissionGroupId} Update Permission Group
ProductsApi createProduct POST /v1/organizations/{organizationId}/products Create Product
ProductsApi deleteProduct DELETE /v1/products/{productId} Delete Product
ProductsApi getProduct GET /v1/products/{productId} Get Product
ProductsApi getProductPreferences GET /v1/products/{productId}/preferences Get Product Preferences
ProductsApi getProducts GET /v1/products List Products
ProductsApi updateProduct PUT /v1/products/{productId} Update Product
ProductsApi updateProductPreferences POST /v1/products/{productId}/preferences Update Product Preferences
SdkKeysApi getSdkKeys GET /v1/configs/{configId}/environments/{environmentId} Get SDK Key
SegmentsApi createSegment POST /v1/products/{productId}/segments Create Segment
SegmentsApi deleteSegment DELETE /v1/segments/{segmentId} Delete Segment
SegmentsApi getSegment GET /v1/segments/{segmentId} Get Segment
SegmentsApi getSegments GET /v1/products/{productId}/segments List Segments
SegmentsApi updateSegment PUT /v1/segments/{segmentId} Update Segment
TagsApi createTag POST /v1/products/{productId}/tags Create Tag
TagsApi deleteTag DELETE /v1/tags/{tagId} Delete Tag
TagsApi getSettingsByTag GET /v1/tags/{tagId}/settings List Settings by Tag
TagsApi getTag GET /v1/tags/{tagId} Get Tag
TagsApi getTags GET /v1/products/{productId}/tags List Tags
TagsApi updateTag PUT /v1/tags/{tagId} Update Tag
WebhooksApi createWebhook POST /v1/configs/{configId}/environments/{environmentId}/webhooks Create Webhook
WebhooksApi deleteWebhook DELETE /v1/webhooks/{webhookId} Delete Webhook
WebhooksApi getWebhook GET /v1/webhooks/{webhookId} Get Webhook
WebhooksApi getWebhookSigningKeys GET /v1/webhooks/{webhookId}/keys Get Webhook Signing Keys
WebhooksApi getWebhooks GET /v1/products/{productId}/webhooks List Webhooks
WebhooksApi replaceWebhook PUT /v1/webhooks/{webhookId} Replace Webhook
WebhooksApi updateWebhook PATCH /v1/webhooks/{webhookId} Update Webhook

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

Basic

  • Type: HTTP basic authentication

Recommendation

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Author

support@configcat.com

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages