REST
HTTP endpoints. Bearer auth + X-Flagctl-Project header.
Base URL: https://api.flagctl.dev/v1/. Every request needs an Authorization: Bearer pat_... header and an X-Flagctl-Project: <slug> header.
List flags
curl https://api.flagctl.dev/v1/flags \ -H "Authorization: Bearer $FLAGCTL_TOKEN" \ -H "X-Flagctl-Project: acme/web"
Get a flag
curl https://api.flagctl.dev/v1/flags/checkout.v2 \ -H "Authorization: Bearer $FLAGCTL_TOKEN" \ -H "X-Flagctl-Project: acme/web"
Apply (upsert)
curl -X POST https://api.flagctl.dev/v1/apply \ -H "Authorization: Bearer $FLAGCTL_TOKEN" \ -H "X-Flagctl-Project: acme/web" \ -H "Content-Type: application/yaml" \ --data-binary @flags/checkout.yaml
Set (override)
curl -X PUT https://api.flagctl.dev/v1/flags/checkout.v2/value \
-H "Authorization: Bearer $FLAGCTL_TOKEN" \
-H "X-Flagctl-Project: acme/web" \
-d '{"env":"staging","value":true}'Rate limits
| Endpoint | Limit |
|---|---|
GET /flags | 600 req/min/token |
POST /apply | 30 req/min/token |
Evaluation (/evaluate) | 50 000 req/min/token |