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.
2. Sign in
Use the account page to sign in, reset your password, and manage billing.
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.