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 ​