Skip to content

Quickstart

Get up and running with Flagship in minutes.

1. Sign Up

Create your account at app.withflagship.com.

2. Install the SDK

Flagship is OpenFeature compatible. Install the OpenFeature SDK and the Flagship provider for your language.

sh
npm install @openfeature/server-sdk @flagship/openfeature-provider
sh
pip install flagship-openfeature-provider
sh
go get github.com/with-flagship/flagship-go-provider
xml
<dependency>
  <groupId>com.withflagship</groupId>
  <artifactId>openfeature-provider</artifactId>
  <version>LATEST</version>
</dependency>

3. Initialize Flagship

Initialize the provider with your API Key found in Settings > API Keys.

typescript
import { OpenFeature } from '@openfeature/server-sdk';
import { FlagshipProvider } from '@flagship/openfeature-provider';

OpenFeature.setProvider(new FlagshipProvider({
  apiKey: process.env.FLAGSHIP_API_KEY
}));
python
from openfeature import api
from flagship_openfeature_provider import FlagshipProvider
import os

api.set_provider(FlagshipProvider(
    sdk_key=os.environ.get("FLAGSHIP_SDK_KEY")
))
go
import (
    "os"
    "github.com/open-feature/go-sdk/openfeature"
    "github.com/with-flagship/flagship-go-provider"
)

func main() {
    provider := flagship.NewProvider(os.Getenv("FLAGSHIP_SDK_KEY"))
    openfeature.SetProvider(provider)
}
java
import dev.openfeature.sdk.OpenFeatureAPI;
import com.withflagship.openfeature.FlagshipProvider;

FlagshipProvider provider = new FlagshipProvider(System.getenv("FLAGSHIP_SDK_KEY"));
OpenFeatureAPI.getInstance().setProvider(provider);

4. Evaluate a Flag

Wrap your code in a flag check.

typescript
const client = OpenFeature.getClient();
const showNewCheckout = await client.getBooleanValue('new-checkout-flow', false);

if (showNewCheckout) {
  return <NewCheckout />;
} else {
  return <OldCheckout />;
}
python
client = api.get_client()
show_new_checkout = client.get_boolean_value("new_checkout_flow", False)

if show_new_checkout:
    return render_new_checkout()
else:
    return render_legacy_checkout()
go
client := openfeature.NewClient("app")
showNewCheckout, _ := client.BooleanValue(
    context.Background(), 
    "new-checkout-flow", 
    false, 
    openfeature.NewEvaluationContext("", nil),
)

if showNewCheckout {
    return renderNewCheckout()
} else {
    return renderLegacyCheckout()
}
java
Client client = OpenFeatureAPI.getInstance().getClient();
Boolean showNewCheckout = client.getBooleanValue("new-checkout-flow", false);

if (showNewCheckout) {
    return renderNewCheckout();
} else {
    return renderLegacyCheckout();
}

Next Steps