JK
JustKalm
Progressive Delivery

Feature Flags

Control feature access with fine-grained targeting. Roll out new capabilities gradually, run experiments, and instantly disable features without deploying.

Instant updates
Built-in analytics
Kill switch ready

Feature Flag Manager

Multi-Image Analysismulti_image_analysis
Analyze up to 10 images per valuation
100%
all
Streaming Responsesstreaming_responses
SSE streaming for real-time updates
75%
percentage
AI Condition Gradingai_condition_grading
AI-powered condition assessment
25%
percentage
Batch Processing v2batch_v2
New batch processing engine
0%
segment
Experimental Modelsexperimental_models
Access to beta ML models
0%
segment

Targeting Options

All Users

Enable for everyone

{ "percentage": 100 }
Percentage Rollout

Gradual rollout by %

{ "percentage": 25 }
User Segments

Target specific groups

{ "segment": "enterprise" }
Time-Based

Schedule activation

{ "start_at": "2024-02-01" }

API Reference

Check Single Flag
# Check if a feature is enabled for a user
curl https://api.justkalm.com/v2/features/multi_image_analysis \
  -H "Authorization: Bearer jk_live_xxx" \
  -d '{"user_id": "user_123"}'

# Response
{
  "key": "multi_image_analysis",
  "enabled": true,
  "variant": "treatment",
  "reason": "rule_match"
}
Get All Flags
# Get all feature flags for a user
curl https://api.justkalm.com/v2/features \
  -H "Authorization: Bearer jk_live_xxx" \
  -d '{"user_id": "user_123"}'

# Response
{
  "flags": {
    "multi_image_analysis": true,
    "streaming_responses": true,
    "ai_condition_grading": false,
    "batch_v2": false
  },
  "evaluated_at": "2024-01-15T10:30:00Z"
}
SDK Usage
import { JustKalm } from '@justkalm/sdk';

const client = new JustKalm({ apiKey: process.env.JUSTKALM_API_KEY });

// Check single flag
const isEnabled = await client.features.isEnabled('multi_image_analysis', {
  userId: 'user_123',
  attributes: {
    plan: 'enterprise',
    country: 'US',
  },
});

// Get all flags for user context
const flags = await client.features.evaluate({
  userId: 'user_123',
  attributes: { plan: 'enterprise' },
});

if (flags['streaming_responses']) {
  // Use streaming endpoint
}
Create Feature Flag
# Create a new feature flag
curl -X POST https://api.justkalm.com/v2/features \
  -H "Authorization: Bearer jk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "new_pricing_model",
    "name": "New Pricing Model",
    "description": "Test new per-image pricing",
    "targeting": {
      "rules": [
        {
          "segment": "beta_users",
          "percentage": 50
        }
      ],
      "default_variant": false
    }
  }'

Use Cases

๐Ÿš€ Gradual Rollouts

Release new features to 1%, 5%, 25%, then 100% of users. Monitor metrics at each stage and rollback instantly if issues arise.

๐Ÿงช A/B Testing

Split users into variants and measure impact on key metrics. Built-in statistical significance calculations.

๐ŸŽฏ User Targeting

Enable features for specific plans, regions, or user segments. Beta programs, enterprise-only features, regional availability.

๐Ÿ”ด Kill Switches

Instantly disable problematic features without deploying code. Critical for incident response and system reliability.

Ship with Confidence

Control access to new API features with fine-grained targeting.

ยฉ 2025 JustKalm. Progressive delivery.