API Overview

Flipt’s API is the primary way to interact with Flipt outside of the UI. It is used to create, update, and delete entities such as namespaces, flags, segments, and rules. It is also used 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.

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


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

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

See the Concepts: Namespaces section for more infomation.


There are official REST client SDKs for the following languages:

We’re working on more REST API SDKs and would love to hear from you if you’re interested in helping out or have a request for an SDK in a specific language.

Please reach out to us in our Discord server.


Flipt authentication is disabled (not required) by default.

Head to the Configuration: Authentication section to enable it.

Once enabled, the Flipt REST API uses tokens for authentication. The token is passed in the Authorization header of the request as a Bearer token.

For more information on how to create a token, see the Authentication documentation.