Quickstart
This walkthrough creates a project, an environment, a flag, enables it, and adds a targeting rule. It assumes you have a token. Every request needs Authorization: Bearer <your-token>; every body is Content-Type: application/json.
The base URL is https://api.featureflip.io.
1. Find your organization
Section titled “1. Find your organization”List the organizations your token can access:
GET /api/v1/orgsNote the key of the org you want to work in — you’ll use it as {org} below. You can also confirm who your token authenticates as with GET /api/v1/me.
2. Create a project
Section titled “2. Create a project”POST /api/v1/orgs/{org}/projects{ "key": "checkout", "name": "Checkout", "description": "Checkout flow experiments"}Response 201 Created:
{ "id": "0d2b…", "key": "checkout", "name": "Checkout", "description": "Checkout flow experiments", "createdAt": "2026-07-08T12:00:00Z", "updatedAt": "2026-07-08T12:00:00Z", "_actions": { "update": { "allowed": true }, "delete": { "allowed": true } }}3. Create an environment
Section titled “3. Create an environment”POST /api/v1/orgs/{org}/projects/checkout/environments{ "key": "production", "name": "Production"}4. Create a feature flag
Section titled “4. Create a feature flag”POST /api/v1/orgs/{org}/projects/checkout/flags{ "key": "new-checkout", "name": "New checkout", "type": "Boolean", "description": "Rolls out the redesigned checkout", "clientSideVisible": false}Response 201 Created includes the flag’s variations (for a Boolean flag, the generated on/off variations) and an _actions block. A new flag is off in every environment until you enable it.
5. Enable the flag in an environment
Section titled “5. Enable the flag in an environment”POST /api/v1/orgs/{org}/projects/checkout/flags/new-checkout/environments/production/toggle{ "enabled": true}The toggle returns 204 No Content. To see the resulting configuration, fetch the flag’s environment config:
GET /api/v1/orgs/{org}/projects/checkout/flags/new-checkout/environments/productionResponse 200 OK:
{ "environmentId": "a1c9…", "environmentKey": "production", "isEnabled": true, "defaultVariationId": "…", "strategy": "SingleVariation", "prerequisites": [], "_actions": { "update": { "allowed": true } }}6. Add a targeting rule
Section titled “6. Add a targeting rule”Serve the flag to a subset of users. This rule targets a segment; you can instead pass conditionGroups for attribute-based targeting or rolloutPercentage for a percentage rollout.
POST /api/v1/orgs/{org}/projects/checkout/flags/new-checkout/environments/production/rules{ "description": "Beta users", "variationId": "<on-variation-id>", "userSegmentId": "<segment-id>", "conditionGroups": []}Response 201 Created:
{ "id": "7f3a…", "priority": 0, "description": "Beta users", "variationId": "<on-variation-id>", "userSegmentId": "<segment-id>", "rolloutPercentage": null, "conditionGroups": [], "_actions": { "update": { "allowed": true }, "delete": { "allowed": true } }}Next steps
Section titled “Next steps”- Browse every endpoint in the API Reference.
- Review Conventions for pagination, rate limits, and idempotency.
- Evaluate the flag in your app with an SDK.