Growth Engine API
Base URL: https://<your-engine-host>. All public resources live under /v1.
| Area | Purpose | Status |
|---|---|---|
| Health | GET /healthz, GET /readyz | Available |
| Auth | Session-token exchange, /me, logout, own sessions | Available |
| Keys | Issue / list / update / revoke your tenant API keys, list scopes | Available |
| Users | Register/manage your users (tenantKey), mint/list/revoke session tokens | Available (incl. email link / SMS code address verification) |
| Sources | Register the data sources flows run against: one generic record with a hint (area, sensor, weather-station, …), optional boundary/location; GET /v1/sources is the catalog the GUI binds flows to | Available (per-source status: Planned) |
| Adapters | Your data connectors (/v1/adapters): the Engine stores no sensor/weather/event data; it fetches per run through your adapter scripts | Available |
| Tiles | List platform tiles + self-describing specs (/v1/tiles, /{id}/spec) | Available (create/version/fork/test your own: Planned) |
| Flows | Create/update flows, scheduling (scheduleMinutes), run now (always 202 + poll; adapter or generated data) | Available (cron schedules: Planned) |
| Results | Runs (/v1/flows/{id}/runs, /v1/runs/{id}) | Available (per-source status: Planned) |
| Alerts | Contacts + lists (/v1/contacts, /v1/contact-lists), flow alert config, delivery log | Available |
| Reports | Per-flow schedules (settings.reports), history, send-now, public GET /reports/{token} | Available |
| Branding | Tenant brand + skin, per-user overrides, resolved /v1/branding/theme | Available |
| Webhooks | Signed event deliveries (/v1/webhooks): subscriptions, delivery log, redelivery, ping | Available |
Interactive reference: the Engine serves its OpenAPI document at /openapi.json; the
committed snapshot lives in the repository at contracts/openapi.json.