Shipeasy
ReferenceKotlin

Overview

shipeasy-kotlin (ai.shipeasy:shipeasy-kotlin) is the server-side Shipeasy SDK for the JVM (and Android-compatible). It evaluates feature flags (gates),…

Generated from the SDK's own /docs/ — also served raw at https://shipeasy-ai.github.io/sdk-kotlin/pages/overview.md.

shipeasy-kotlin (ai.shipeasy:shipeasy-kotlin) is the server-side Shipeasy SDK for the JVM (and Android-compatible). It evaluates feature flags (gates), dynamic configs, kill switches and A/B experiments locally against rule blobs it fetches from the Shipeasy edge — no per-evaluation network call on the hot path.

Mental model: configure() once, then Client(user)

import ai.shipeasy.configure
import ai.shipeasy.Client

// Once, at app boot.
configure(apiKey = System.getenv("SHIPEASY_SERVER_KEY"))

// Per request — cheap, no own connection/poll.
val flags = Client(currentUser)
flags.getFlag("new_checkout")        // → Boolean (no user arg; user bound at construction)

You learn exactly two things:

  1. configure() (and its test/offline siblings configureForTesting() / configureForOffline()) — call it once at app boot.
  2. Client(user) — the cheap, user-bound handle for every read: getFlag / getFlagDetail / getConfig / getKillswitch / getExperiment / track / logExposure.

The user (and the attributes transform you register at configure time) is bound when you construct the Client, so its methods take no user argument. Construct a Client per request/user — it is cheap and opens no connection, fetch, or poll of its own.

A handful of top-level package functions cover everything else without naming a heavyweight object: overrideFlag / overrideConfig / overrideExperiment / clearOverrides, onChange, bootstrapScriptTag / i18nScriptTag, and the see() family.

Feature reference

  • Installation — Gradle/Maven dependency, runtime, imports, and the canonical configure() reference.
  • Configurationconfigure() in full, the attributes transform, init/poll.
  • FlagsgetFlag / getFlagDetail.
  • ConfigsgetConfig.
  • Kill switchesgetKillswitch.
  • ExperimentsgetExperiment, ExperimentResult, track, logExposure.
  • i18n — SSR bootstrap + the client-side translation story.
  • Error reportingsee() structured error reporting.
  • TestingconfigureForTesting() / configureForOffline() + the override helpers.
  • OpenFeature — provider availability.
  • Advanced — private attributes, sticky bucketing, anon-id, manual exposure, SSR.
Was this page helpful?
✎ Edit this page

On this page