Developer docs

The happy path: buy access, sign in, get an API key, and evaluate flags with traits.

1. Buy access

Choose a plan on the homepage and complete checkout.

View pricing

2. Sign in

Use the account page to sign in, reset your password, and manage billing.

Open account dashboard

3. Get your API key

Your API key is shown on the account dashboard once your subscription is active.

API base URL: https://api.edge-assign.com

4. Check a flag (simple)

curl -H "X-API-Key: YOUR_API_KEY" \
"https://api.edge-assign.com/v1/flag/acme-prod/new_checkout/alice"

5. Evaluate with traits (rules + rollout)

curl -X POST -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"subject":"alice","traits":{"beta":true,"plan":"pro"}}' \
"https://api.edge-assign.com/v1/eval/acme-prod/new_checkout"

Example response:

{
  "project": "acme-prod",
  "flag": "new_checkout",
  "subject": "alice",
  "eligible": true,
  "enabled": true,
  "bucket": 8,
  "rollout_percent": 25,
  "reason": "eligible_and_in_rollout"
}

Batch evaluate subjects

curl -X POST -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"subject":"alice","traits":{"plan":"pro"}},{"subject":"bob","traits":{"plan":"free"}}]}' \
"https://api.edge-assign.com/v1/eval-batch/acme-prod/new_checkout"

6. Check usage

Usage is available in the account dashboard.

7. Manage billing

Use the account dashboard to open the Stripe billing portal and cancel or update your payment method.

Flag management (API)

Update rollouts programmatically as part of CI/CD or internal tooling.

curl -X POST "https://api.edge-assign.com/admin/flags" \
  -H "X-Admin-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"project":"acme-prod","flag":"new_checkout","rollout_percent":25}'

Example: bump a rollout from 10% to 25% by updating rollout_percent.

How deterministic bucketing works

Each project has a seed. We hash the seed + subject to compute a stable bucket. The same subject returns the same bucket every time.

What is stored (and what isn’t)

We store project config, flags, and usage counters. We do not store per‑user rollout assignments.

Rule engine support

Rules are evaluated before rollout. Supported ops: eq, in, exists (including exists: false).

Key rotation

Rotating a key invalidates the old key immediately. Update your services as soon as the new key is issued.

Rate limits

Default limits: 600 requests/min per API key and 1,200 requests/min per IP. Batch requests count per item.

Subscription inactive behavior

When a subscription is inactive or past its paid period, API keys are hidden and API requests return 401.

Caching best practices

Eval results are deterministic for the same subject + traits, so they can be cached safely.

Common pattern: cache eval responses in your service layer or at the edge with a short TTL.

Performance notes

EdgeAssign is designed for low‑latency evaluation. If the call sits on a critical path, cache results or evaluate once per request lifecycle.

Why not just hash locally?

Hashing locally doesn’t give you trait rules, account access, API keys, rotation, billing, or usage tracking. EdgeAssign handles the full rollout surface so you don’t maintain it yourself.