brily
API reference

Flows.

Define a flow as a named sequence of event names. Query conversion rates, drop points, time-between-steps, and release-cohort deltas. Paired with the Events API for ingestion.

The Flow object

{
  "id": "flw_2aKp3",
  "name": "Signup flow",
  "description": "Landing to activation",
  "steps": [
    "landing_viewed",
    "signup_started",
    "signup_completed",
    "activated"
  ],
  "project_id": "proj_7KfD1",
  "created_at": "2026-04-19T10:12:00Z"
}

Create a flow

POST/v0/flows
curl -X POST https://api.brily.app/v0/flows \
  -H "Authorization: Bearer $BRILY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Signup flow",
    "description": "Landing to activation",
    "steps": [
      "landing_viewed",
      "signup_started",
      "signup_completed",
      "activated"
    ]
  }'

Step names are strings matching event names you send via the Events API. Event names are free-form, lowercase with underscores by convention, but not enforced.

List flows

GET/v0/flows

Retrieve a flow

GET/v0/flows/{id}

Update a flow

PATCH/v0/flows/{id}Partial update

Changing steps does not recompute historical conversion. New data flows into the updated definition from the change forward.

Funnel report

GET/v0/flows/{id}/funnel

Query params: from, to (ISO 8601), release_id (filter to users exposed to a release),cohort (optional plan_tier, account_age segments).

{
  "flow_id": "flw_2aKp3",
  "range": { "from": "2026-04-01", "to": "2026-04-19" },
  "n_users": 10000,
  "steps": [
    { "name": "landing_viewed",    "n": 10000, "rate": 1.0,    "median_s": 0 },
    { "name": "signup_started",    "n": 4200,  "rate": 0.42,   "median_s": 18 },
    { "name": "signup_completed",  "n": 3100,  "rate": 0.31,   "median_s": 42 },
    { "name": "activated",         "n": 1680,  "rate": 0.168,  "median_s": 3600 }
  ],
  "overall_conversion": 0.168
}

Release cohort split

GET/v0/flows/{id}/cohortBefore/after a release marker

Query params: release_id (required), window_days (default 14).

{
  "release_id": "rel_9f3K",
  "flow_id": "flw_2aKp3",
  "exposed": {
    "n_users": 5100,
    "step_rates": [1.0, 0.44, 0.335, 0.171],
    "overall_conversion": 0.171
  },
  "control": {
    "n_users": 4900,
    "step_rates": [1.0, 0.38, 0.27, 0.128],
    "overall_conversion": 0.128
  },
  "delta_pp": 4.3,
  "confidence": 0.96
}