Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Human JWT APIs

REST endpoints consumed by the Admin UI and operator tooling. All routes require a valid Bearer JWT in the Authorization header.

Auth Model

  1. Obtain a JWT by posting credentials to POST /v1/auth/login.
  2. Include the token in subsequent requests:
Authorization: Bearer eyJhbGci...

Tokens expire after the configured TTL (default: 24 hours). A 401 Unauthorized response means the token is missing, invalid, or expired.

Login

POST /v1/auth/login

Request body:

{
  "email": "admin@example.com",
  "password": "hunter2"
}

Response:

{
  "token": "eyJhbGci...",
  "expires_at": "2026-04-23T10:00:00Z"
}

Admin Endpoints (system-org only)

These routes are only accessible to users belonging to the system organisation.

MethodPathDescription
POST/v1/admin/orgsCreate a new organisation
POST/v1/admin/seed-userBootstrap the first admin user

Management Endpoints

MethodPathDescription
POST/v1/management/projectsCreate a project
POST/v1/management/projects/{id}/environmentsCreate an environment within a project
POST/v1/management/environments/{id}/sdk-keysIssue a new SDK key
POST/v1/management/usersCreate a user account

Flag Management

MethodPathDescription
GET/v1/environments/{env_id}/flagsList all flags
POST/v1/environments/{env_id}/flagsCreate a flag
GET/v1/environments/{env_id}/flags/{key}Get a flag
PUT/v1/environments/{env_id}/flags/{key}Update a flag
DELETE/v1/environments/{env_id}/flags/{key}Delete a flag
POST/v1/environments/{env_id}/flags/{key}/variantsAdd a variant
PUT/v1/environments/{env_id}/flags/{key}/rulesReplace targeting rules
PUT/v1/environments/{env_id}/flags/{key}/hashingUpdate hashing config

Segment Management

MethodPathDescription
GET/v1/environments/{env_id}/segmentsList all segments
POST/v1/environments/{env_id}/segmentsCreate a segment
GET/v1/environments/{env_id}/segments/{key}Get a segment
PUT/v1/environments/{env_id}/segments/{key}Update a segment
DELETE/v1/environments/{env_id}/segments/{key}Delete a segment

Event Definition Management

MethodPathDescription
GET/v1/environments/{env_id}/event-definitionsList event definitions
POST/v1/environments/{env_id}/event-definitionsCreate an event definition
GET/v1/environments/{env_id}/event-definitions/{key}Get a definition
PUT/v1/environments/{env_id}/event-definitions/{key}Update a definition
DELETE/v1/environments/{env_id}/event-definitions/{key}Delete a definition

Experiment Management

MethodPathDescription
GET/v1/environments/{env_id}/experimentsList experiments
POST/v1/environments/{env_id}/experimentsCreate an experiment
GET/v1/environments/{env_id}/experiments/{id}Get an experiment
PUT/v1/environments/{env_id}/experiments/{id}Update an experiment
DELETE/v1/environments/{env_id}/experiments/{id}Delete an experiment
POST/v1/environments/{env_id}/experiments/{id}/transitionTransition experiment state
GET/v1/environments/{env_id}/experiments/{id}/iterationsList iterations
GET/v1/environments/{env_id}/experiments/{id}/resultsGet statistical results

OpenAPI / Swagger UI

The full machine-readable spec is available at:

For complete request/response schemas, consult the OpenAPI Spec.