Flipt’s API is the primary way to interact with Flipt outside of the UI. It’s used to create, update, and delete entities such as namespaces, flags, segments, rules, and also to evaluate flags.

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.

The latest version of the REST API is fully documented using the OpenAPI v3 specification.

Authentication

Flipt authentication is disabled (not required) by default.

Head to the Configuration: Authentication section to enable it.

Flipt supports two types of authentication for the API:

  • Client Token Authentication - This method uses tokens stored by Flipt to authenticate the request. See the Using Client Tokens section for more information.
  • JSON Web Token (JWT) Authentication - This method uses a JWT token, created and signed externally from Flipt to authenticate the request. See the Using JWT Tokens section for more information.

See the Authentication documentation for more information on all supported authentication methods.

SDKs

We’re adding new SDKs all the time. To see the current list of official REST SDKs, head to the REST SDKs documentation.

Backward Compatibility

We take great care to ensure that the Flipt REST API is backward compatible. This means that you can safely upgrade to a newer version of Flipt without having to change your API calls.

From time to time we may need to make large changes to the API as we introduce additional features, however we will continue to make sure that we preserve backward compatibility.

We will describe any major changes in the section below.

API Changes

v1.24.0

Version v1.24.0 of Flipt introduced the concept of boolean flag types as well as Rollouts to override a flag’s enabled state via a set of rules.

We also introduced a new /evaluate/v1 set of API endpoints to evaluate both boolean and variant flags. The previous /api/v1/evaluate endpoints for evaluation are still available and will continue to work as before, however they will only work for variant type flags and should be considered deprecated.

v1.20.0

Version v1.20.0 of Flipt introduced the concept of Namespaces as root objects nested under the /namespaces route (i.e.: /api/v1/namespace/{namespaceKey}/flags).

All previous endpoints without the /namespaces prefix still work as before (i.e.: /api/v1/flags), they simply resolve to using the default namespace.

See the Concepts: Namespaces section for more information.