Skip to main content

Projects

A project is the top-level container for everything in the service. One project maps to one of your applications.

What a project gives you

  • A unique SDK key (sdk_...) that your application uses to call the evaluate endpoint
  • Two default environments: production and staging, created automatically on project creation
  • Isolated data — flags, rules, and evaluation history in one project never leak into another

SDK key

The SDK key authenticates your application when calling POST /sdk/v1/evaluate. It identifies which project to evaluate flags for. Treat it like a secret and do not commit it to public source control.

Each project has exactly one SDK key. If a key is compromised, rotate it:

POST /api/projects/{project_id}/regenerate-key
Authorization: Bearer <token>

The old key is invalidated immediately. Update the key in your application's environment variables and redeploy.

Multiple projects

Create one project per application, not per team or per environment. Environments handle the prod/staging split within a project.

CorrectIncorrect
api project with production + staging environmentsapi-production and api-staging as separate projects
web-app project with production + staging environmentsOne project with web-app-production flags

Managing a project

ActionEndpoint
CreatePOST /api/projects
List allGET /api/projects
Get oneGET /api/projects/{id}
RenamePUT /api/projects/{id}
Rotate SDK keyPOST /api/projects/{id}/regenerate-key
DeleteDELETE /api/projects/{id}
warning

Deleting a project permanently removes all its environments, flags, rules, and evaluation history. This cannot be undone.