Welcome, developer 👋
Everything you need to connect a solution to UMeMax AI, expose an agent, and make the most of the control tower.
Quick start
Connect your first solution in 5 minutes.
Collector
Send signals, metrics and security events.
Agents API
Create, train and query your AI assistants.
Auth & RBAC
JWT tokens, per-solution roles, collector keys.
Architecture
Angular · Symfony · Python · PostgreSQL.
DEV assistant
A technical question? Ask the assistant.
Quick start
Connect a solution to the control tower in three steps.
1 · Get a collector key
From the control tower → Solution dashboard → Generate an API key. The key identifies your solution to the collector.
2 · Send a first signal
# A security event to the collector curl -X POST https://hub.umemax.ai/api/ingest/security \ -H "X-Solution-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"auth_failure","severity":"medium","source":"1.2.3.4"}'
3 · Check the control tower
The signal appears in real time in the SOC and your solution's metrics. You're connected.
Architecture
A clear chain: Angular → Symfony (gateway) → Python (AI engine) → PostgreSQL.
- Angular 21 front — control tower (hub.umemax.ai), standalone components, native SVG charts.
- Symfony 7.4 gateway (PHP 8.3) — API, RBAC, SOC, internal token to Python.
- Python engine (FastAPI + scikit-learn) — TF-IDF agents, one dataset per solution.
- PostgreSQL — source of truth (solutions, roles, SOC, IOC, agents).
- Local auth (JWT) — administrator identity (bcrypt passwords and data in PostgreSQL).
Collector — /api/ingest
The entry point through which each solution feeds the control tower. Authentication via a solution key (X-Solution-Key).
{"status":"up","meta":{…}}.{"key":"uptime","value":99.98,"labels":{…}}.{"type":"…","severity":"…","source":"…"}.Example — metric
curl -X POST https://hub.umemax.ai/api/ingest/metrics \ -H "X-Solution-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"key":"uptime","value":99.98,"labels":{"env":"prod"}}'
Agents API
Create, train and query AI assistants. Public chat is open; administration requires a token.
Example — query an agent
curl -X POST https://hub.umemax.ai/api/agents/historia-hominis-assistant/chat \ -H "Content-Type: application/json" \ -d '{"message":"Who was Louis XIV?"}'
Resilience
Each agent is trained and served as close as possible to its solution. Retraining is triggered on demand, solution by solution — no dependency on the hub for daily operation.
Authentication & RBAC
Two identity mechanisms depending on the context.
Administration — JWT token
Admin calls carry a local JWT obtained via POST /api/login (Authorization: Bearer <token>). Accounts (email + bcrypt password) and their roles live in PostgreSQL.
Collector — solution key
X-Solution-Key for ingestion. Write-only, scoped to the solution.
Roles (per solution)
- Viewer (10) — read dashboards and agents.
- Analyst (20) — writes, training, SOC actions.
- Admin (30) — create/delete agents, API keys.
- Superadmin — global access to all solutions.
Changelog
Notable platform changes.
- Control tower in production (hub.umemax.ai)
- Full SOC: IOC, alerts, incidents, correlation
- Native SVG charts (donut, candlesticks, lines)
- RBAC role × solution + automatic UID linking
- 32 agents trained from PostgreSQL
- Type detection, risk score, TTL, network correlation
- IOC → incident promotion
Service status
Availability of the platform components.