Documentation

Quick Start

Get ShipSilently running in your application in under 5 minutes.

Installation

Install the SDK for your language of choice:

npm install shipsilently

Initialize the client

Import and initialize ShipSilently once at app startup — not on every request.

index.ts
import { initialize } from 'shipsilently';

export const flags = initialize(process.env.SHIPSILENTLY_KEY);

Evaluate a flag

Call getFlag() anywhere in your code. Evaluation is synchronous after the initial fetch and adds <1ms of overhead.

checkout.ts
import { flags } from './index';

async function renderCheckout(user) {
  const useNewFlow = await flags.getFlag('new-checkout-v2', {
    userId: user.id,
    plan: user.plan,
    region: user.region,
  });

  return useNewFlow
    ? renderNewCheckout(user)
    : renderLegacyCheckout(user);
}
Tip: Context attributes like userId, plan, and region are used for targeting rules and percentage rollouts. Pass as many as are relevant for your flags.

Go SDK

Install the Go SDK with go get:

terminal
go get github.com/slewsoft/shipsilently-go

Initialize once and evaluate flags anywhere in your service:

main.go
import ss "github.com/slewsoft/shipsilently-go"

func main() {
  client := ss.New(os.Getenv("SHIPSILENTLY_KEY"))

  enabled, _ := client.GetFlag(ctx, "new-checkout-v2", ss.Context{
    "userId": user.ID,
    "plan":   user.Plan,
  })
  if enabled {
    renderNewCheckout(w, r)
  }
}

Percentage Rollouts

Gradually roll out a feature to a percentage of users without any code changes. Configure rollout percentages from the dashboard and ShipSilently handles consistent assignment — the same user always gets the same experience.

User Targeting

Target specific users or segments with rules based on any attribute you pass in context:

  • Beta users: plan === 'beta'
  • Internal team: email.endsWith('@yourcompany.com')
  • Geographic: region === 'us-west-2'
  • Custom attributes: any key-value pair in your context object

Kill Switches

Every flag is a kill switch. Disable any feature flag from the dashboard and it takes effect within seconds across all your environments — no deployment required.

REST API

All operations are also available via REST API if you need server-side or CI/CD integration. The full reference covers 46 endpoints across projects, flags, environments, segments, tokens, audit log, and webhooks.

curl
curl https://api.shipsilently.dev/api/v2/projects \
  -H "Authorization: ssat_$SHIPSILENTLY_TOKEN" \
  -H "Content-Type: application/json"
Browse the full API: /api renders the live OpenAPI spec with request/response examples, schema definitions, and a try-it console. Or grab the raw OpenAPI 3.0 spec to generate your own client.

Ready to get started?

Open Dashboard