Guides use of the FeatBit REST API to manage projects, environments, and feature flags programmatically. Covers authentication, request/response formats, and common endpoints.
How this skill is triggered — by the user, by Claude, or both
Slash command
/featbit-featbit-skills:featbit-rest-apiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Expert guidance for interacting with FeatBit services through the REST API. Use these endpoints to manage projects, environments, feature flags, and more programmatically.
Expert guidance for interacting with FeatBit services through the REST API. Use these endpoints to manage projects, environments, feature flags, and more programmatically.
Activate when users:
https://your-featbit-instance.com/api/v{version}
v1 (URL pattern: /api/v1/{resource})your-featbit-instance.com with your actual FeatBit hostFeatBit supports two authentication methods:
Authorization: Bearer {jwt_token}
Best for: interactive sessions, user-scoped operations.
Authorization: {api_key}
Best for: CI/CD pipelines, automation scripts, service-to-service calls.
Detailed Guide: references/authentication.md
All API responses follow a standardized wrapper:
{
"success": true,
"data": { ... },
"errors": []
}
On failure:
{
"success": false,
"data": null,
"errors": [
{ "code": "Required:name", "message": "The name field is required" }
]
}
| Code | Description |
|---|---|
200 | Success |
400 | Bad Request — validation errors |
401 | Unauthorized — missing or invalid authentication |
403 | Forbidden — insufficient permissions |
404 | Not Found — resource doesn't exist |
500 | Internal Server Error |
| Method | Endpoint | Description | Permission |
|---|---|---|---|
GET | /api/v1/projects | List all projects in the organization | CanAccessProject |
POST | /api/v1/projects | Create a new project | CreateProject |
GET | /api/v1/projects/{projectId} | Get project details with environments | CanAccessProject |
Quick example — Create a project:
curl -X POST "https://your-featbit-instance.com/api/v1/projects" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {jwt_token}" \
-d '{"name": "E-Commerce Platform", "key": "ecommerce"}'
Full Reference: references/projects-api.md
| Method | Endpoint | Description | Permission |
|---|---|---|---|
POST | /api/v1/projects/{projectId}/envs | Create a new environment | CreateEnv |
Quick example — Create an environment:
curl -X POST "https://your-featbit-instance.com/api/v1/projects/{projectId}/envs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {jwt_token}" \
-d '{"name": "Staging", "key": "staging", "description": "QA environment"}'
Full Reference: references/environments-api.md
| Method | Endpoint | Description | Permission |
|---|---|---|---|
POST | /api/v1/envs/{envId}/feature-flags | Create a new feature flag | CreateFlag |
Quick example — Create a boolean feature flag:
curl -X POST "https://your-featbit-instance.com/api/v1/envs/{envId}/feature-flags" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {jwt_token}" \
-d '{
"name": "New Checkout Flow",
"key": "new-checkout-flow",
"isEnabled": false,
"variationType": "boolean",
"variations": [
{"id": "var-on", "name": "On", "value": "true"},
{"id": "var-off", "name": "Off", "value": "false"}
],
"enabledVariationId": "var-on",
"disabledVariationId": "var-off",
"tags": ["checkout"]
}'
boolean, string, number, json^[a-zA-Z0-9._-]+$Full Reference: references/feature-flags-api.md
A typical setup flow — create project, add environment, create flag:
# 1. Create a project (auto-creates Prod and Dev environments)
PROJECT=$(curl -s -X POST "$BASE_URL/api/v1/projects" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"name":"My App","key":"my-app"}')
PROJECT_ID=$(echo $PROJECT | jq -r '.data.id')
DEV_ENV_ID=$(echo $PROJECT | jq -r '.data.environments[1].id')
# 2. (Optional) Create a staging environment
curl -s -X POST "$BASE_URL/api/v1/projects/$PROJECT_ID/envs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"name":"Staging","key":"staging","description":"QA environment"}'
# 3. Create a feature flag in the dev environment
curl -s -X POST "$BASE_URL/api/v1/envs/$DEV_ENV_ID/feature-flags" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
"name":"New Feature","key":"new-feature","isEnabled":false,
"variationType":"boolean",
"variations":[{"id":"v1","name":"On","value":"true"},{"id":"v2","name":"Off","value":"false"}],
"enabledVariationId":"v1","disabledVariationId":"v2","tags":["backend"]
}'
More Patterns: references/common-patterns.md
new-checkout-flow)npx claudepluginhub joshuarweaver/cascade-code-devops-misc-1 --plugin featbit-featbit-skillsGuides new users through FeatBit setup, creating boolean and multi-variant feature flags, and exploring the Dino Game demo. Use when users ask about FeatBit getting started or first feature flag.
Generates a feature flag management guide and lifecycle playbook for a service or team — covering taxonomy, naming conventions, rollout strategy, monitoring, cleanup policy, and governance.
Implements feature flags for controlled rollouts, A/B testing, canary deployments, and kill switches. Use for gradual feature deployment and lifecycle management.