Skip to content
Docs · OGN platform

GPU-native genomics operating system

From raw reads to GIAB-validated variant calls in a continuous GPU pipeline. This is the control surface for the engine: CLI, pipelines, benchmarks, and deployment runbooks.

CUDA 12+Hopper · AmpereGIAB-validated flowsSchemas stable
Generated Reference
Source: openapi/ogn.public.swagger.json
Last updated from spec: 2018-10-20T01:46:40.000Z
Operations: 6

POST /api/bioflow/proxy

Proxy allowlisted BioFlow API requests
Validates host policy and path allowlist, then forwards GET/POST JSON requests to the configured BioFlow API origin.
Request examples
Create workspace signup via upstream proxy
{
  "remoteUrl": "https://bioflow-beta.fly.dev",
  "method": "POST",
  "path": "/api/v1/self-serve/signup",
  "idempotencyKey": "omnis-signup-1739392000000-9f11a52f8f4a4c28",
  "body": {
    "name": "Acme Deterministic",
    "slug": "acme-deterministic",
    "plan": "team",
    "keyMode": "test",
    "keyName": "Initial team key"
  }
}
List runs in local org-header mode
{
  "remoteUrl": "http://localhost:8080",
  "method": "GET",
  "path": "/api/v1/runs",
  "orgId": "00000000-0000-0000-0000-000000000000",
  "query": {
    "limit": "25"
  }
}
Response examples
200Upstream JSON response (or wrapped non-JSON response body).
Pass-through JSON from BioFlow API
{
  "runs": [
    {
      "id": "d3d42b4e-9936-42cc-a1b9-ae1f4760dd14",
      "status": "completed",
      "visibility": "org",
      "created_at": "2026-02-11T15:20:18.000Z"
    }
  ],
  "nextCursor": "2026-02-11T15:20:18.000Z,d3d42b4e-9936-42cc-a1b9-ae1f4760dd14"
}
Wrapped non-JSON upstream response
{
  "error": "upstream_non_json",
  "status": 502,
  "body": "temporary upstream outage"
}
400Invalid request payload or malformed remote URL.
Example
{
  "error": "invalid_request",
  "message": "remoteUrl is required."
}
403Host/path not allowed by proxy policy.
Example
{
  "error": "host_not_allowed",
  "message": "Host is not allowlisted: evil.example.com"
}
500Proxy runtime configuration invalid.
Example
{
  "error": "proxy_config_invalid",
  "message": "BIOFLOW_PROXY_ALLOWED_HOSTS is not set in production runtime."
}
502Upstream fetch failed.
Example
{
  "error": "upstream_fetch_failed",
  "message": "Failed to reach upstream: getaddrinfo ENOTFOUND"
}
504Upstream timeout exceeded.
Example
{
  "error": "proxy_timeout",
  "message": "Upstream request timed out after 15000ms."
}

POST /api/bioflow/telemetry

Ingest BioFlow web-console telemetry event
Accepts a validated BioFlow console event and appends it to the configured NDJSON telemetry sink.
Request examples
Signup success event
{
  "event": "signup_succeeded",
  "surface": "signup",
  "outcome": "success",
  "sessionId": "bioflow-session-1739392000000-983746234",
  "remoteHost": "bioflow-beta.fly.dev",
  "orgId": "d9abf2f6-6b25-4ebb-bfd8-cd00cf3048fa",
  "mode": "fresh"
}
Run demo failure event
{
  "event": "runs_demo_failed",
  "surface": "runs",
  "outcome": "error",
  "sessionId": "bioflow-session-1739392000000-983746234",
  "runId": "d3d42b4e-9936-42cc-a1b9-ae1f4760dd14",
  "message": "verify_failed"
}
Response examples
202Telemetry event accepted.
Example
{
  "accepted": true,
  "id": "bcf470f8-6e35-46f8-b944-f2407a087d8f"
}
400Invalid telemetry payload.
Example
{
  "error": "invalid_request",
  "message": "Invalid event."
}
500Telemetry store append failed.
Example
{
  "error": "telemetry_store_error",
  "message": "Failed to store telemetry event."
}

GET /api/bioflow/telemetry/scoreboard

Compute BioFlow telemetry scoreboard
Computes funnel counts and ratios from stored BioFlow telemetry events over a requested time window.
Auth: bearerAuth, bioflowTelemetrySessionCookie
Parameters
NameInRequiredExampleDefault
sincequeryno24h24h
untilquerynonownow
since: Window start. Accepts RFC3339 timestamps, 'now', or durations like '24h' and '7d'.
until: Window end. Accepts RFC3339 timestamps, 'now', or durations like '24h' and '7d'.
Request examples
No JSON request examples defined in OpenAPI.
Response examples
200Computed telemetry scoreboard.
Example
{
  "ok": true,
  "window": {
    "since": "2026-02-11T16:00:00.000Z",
    "until": "2026-02-12T16:00:00.000Z"
  },
  "counts": {
    "totalEvents": 286,
    "uniqueSessions": 42,
    "signupSucceeded": 19,
    "onboardingLoaded": 15,
    "runsDemoCompleted": 12,
    "runsVerifySucceeded": 11,
    "runsSharedOrg": 10,
    "settingsKeyCreated": 8,
    "errorEvents": 17
  },
  "sessionFunnel": {
    "signupSucceeded": 19,
    "onboardingLoaded": 15,
    "runsDemoCompleted": 12,
    "runsVerifySucceeded": 11,
    "runsSharedOrg": 10
  },
  "ratios": {
    "signupToOnboarding": 0.7895,
    "signupToDemoCompleted": 0.6316,
    "demoToVerify": 0.9167,
    "verifyToShare": 0.9091
  }
}
400Invalid since/until window.
Example
{
  "error": "Invalid since/until window."
}
401Unauthorized (missing/invalid bearer token or session cookie).
Example
{
  "error": "Unauthorized"
}
500Scoreboard token unset or telemetry storage disabled.
Example
{
  "error": "BIOFLOW_TELEMETRY_SCOREBOARD_TOKEN is not set."
}

GET /api/bioflow/telemetry/session

Read telemetry ops session status
Returns whether a telemetry ops session cookie is currently active and remaining TTL seconds.
Request examples
No JSON request examples defined in OpenAPI.
Response examples
200Session status.
Active
{
  "ok": true,
  "active": true,
  "expiresInSeconds": 1732
}
Inactive
{
  "ok": true,
  "active": false,
  "expiresInSeconds": null
}
500Telemetry token is not configured.
Example
{
  "error": "BIOFLOW_TELEMETRY_SCOREBOARD_TOKEN is not set."
}

POST /api/bioflow/telemetry/session

Start or refresh telemetry ops session
Starts a new telemetry ops session with {token}, or refreshes an active session when called with an empty JSON body and valid session cookie.
Request examples
Start a new session from ops token
{
  "token": "BIOFLOW_TELEMETRY_SCOREBOARD_TOKEN"
}
Refresh existing active session via cookie
{}
Response examples
200Session created/refreshed.
Started
{
  "ok": true,
  "active": true,
  "expiresInSeconds": 28800
}
400Invalid JSON body.
Example
{
  "error": "Invalid JSON body."
}
401Unauthorized token or no active session to refresh.
Example
{
  "error": "Unauthorized"
}
500Telemetry token is not configured.
Example
{
  "error": "BIOFLOW_TELEMETRY_SCOREBOARD_TOKEN is not set."
}

DELETE /api/bioflow/telemetry/session

End telemetry ops session
Clears the telemetry session cookie and returns inactive session state.
Request examples
No JSON request examples defined in OpenAPI.
Response examples
200Session cleared.
Example
{
  "ok": true,
  "active": false,
  "expiresInSeconds": null
}
BioFlow API reference | OGN documentation | Omnis Genomics