To learn how to install and run Flipt, see the Installation documentation.

Once you have the Flipt server up and running within your infrastructure or local development environment, the next step is to integrate the Flipt client(s) with your applications for evaluating your feature flags.

There two main ways to perform evaluation of feature flags with Flipt:

  1. Server-Side Evaluation
  2. Client-Side Evaluation

Server-Side Evaluation

Server-side evaluation is the most common way to evaluate feature flags. This is where your application makes a request to Flipt to evaluate a feature flag and Flipt responds with the result of the evaluation.

Flipt exposes two different APIs for performing server-side evaluation:

  1. REST API
  2. GRPC API

The choice of which API to use is up to you. Both APIs are fully supported and are functionally equivalent. The REST API is easier to get started with, but the GRPC API is more performant.

REST API

Flipt comes equipped with a fully functional REST API. The Flipt UI is completely backed by this same API. This means that anything that can be done in the Flipt UI can also be done via the REST API.

The Flipt REST API can also be used with any language that can make HTTP requests. This means that you don’t need have to use one of our official clients to integrate your application with Flipt.

The latest version of the REST API is fully documented using the OpenAPI v3 specification as well as the above API Reference.

See all official REST SDKs as well as how to generate your own in the the REST SDK section.

GRPC API

Since Flipt is a GRPC enabled application, you can connect to it using the GRPC protocol. This means that you can use any language that has a GRPC client implementation to integrate with Flipt.

GRPC requires HTTP/2 in your environment.

An example Go application is available, showing how you would integrate with Flipt using the Go GRPC client.

See all official GRPC SDKs as well as how to generate your own in the the GRPC SDK section.

Client-Side Evaluation

Client-side evaluation is another way Flipt supports evaluating feature flags. This is where your application has a local copy of the feature flag rules and evaluates them locally.

Our client-side SDKs are currently in beta.

We’re actively working on improving them and adding more languages. If you have any feedback, feature or language requests, please let us know by opening an issue in our GitHub repository.

Client-side evaluation is much more performant than server-side evaluation, but it comes with some tradeoffs. The main tradeoff is that you need to keep your feature flag rules in sync with Flipt. This means that you will need to periodically fetch the feature flag rules from Flipt and update your local copy. Our client-side SDKs provide a way to do this automatically.

Reasons for using client-side evaluation include:

  • You want to reduce the number of requests your application makes to Flipt for feature flag evaluations
  • You want to reduce the latency of feature flag evaluations

See all official client-side SDKs in the the Client-Side SDKs section.