Flags docs · Preview

Flags.

Feature flags and remote settings, evaluated inside your app.

Flags lets you turn features on and off, roll them out to a percentage of users, and target them by user attributes without a deploy. Your app downloads a small config JSON for its environment and evaluates every flag locally, so a check costs no network call and your users' attributes never leave your app.

Flags is free during the preview. It is hosted in the EU (DigitalOcean, Frankfurt, fra1).


Browse

What you’ll find here


Model

Project, config, environment

Everything you manage sits under a project. What your app downloads is one config in one environment.

the hierarchy
Workspace
└── Project            "Storefront"     (segments live here: one salt, shared by its configs)
    ├── Environments   Development · Staging · Production
    └── Configs        "Main", "Mobile"  (each holds feature flags and settings)
        └── one config JSON per (config, environment), with its own SDK key
            GET https://api.flags.productcraft.co/v1/configs/{sdk_key}/config.json

A flag has one value per environment. Turning new_checkout on in Development leaves Production alone, and each environment has its own SDK key. The concepts page covers each level in detail.


Reference

Base URL

The management API is workspace-scoped and takes a workspace API key or a console session. SDKs download the config from the public delivery route with an SDK key that can only read that one config.

https://api.flags.productcraft.co/v1

Limits

Preview limits

Per workspace unless stated. A write that would pass a limit answers 422 LIMIT_EXCEEDED, naming the limit, the maximum and the current count. GET /v1/workspaces/{workspace_id}/limits returns the limits with your current usage.

Flags preview limits
WhatLimit
Projects3 per workspace
Environments5 per project
Configs10 per project
Feature flags and settings200 per config
Segments20 per project
Targeting rules50 per flag per environment
Conditions20 per rule (and per segment)
Comparison values1,000 values or 64 KB per condition; 20,000 per config
String or JSON value100 KB
Config JSON1 MiB per environment (422 CONFIG_TOO_LARGE); the console warns from 256 KB
Prerequisite depth16
SDK poll interval60 s by default, 30 s minimum
Config downloads20 req/s per SDK key and client IP, 20 req/s per client IP; a 304 is never refused for the key’s sake
Management API600 req/min per credential, writes 120 req/min, test evaluation 30 req/min
Change history50,000 changes or 200 MiB per project (oldest pruned, warning at 80%)
Stored config revisionsthe last 100, or 20 MiB, per config and environment
Webhook endpointsthe shared per-workspace limit of every ProductCraft product

How these compare with ConfigCat's plans is in Migrating from ConfigCat.