Direct API

Deliver FleetManager data directly via HTTPS — without Brinkhaus-Tools or MQTT.

Authentication

All ingest endpoints use Bearer token authentication. Tokens are created in the FleetManager dashboard under Settings → Tokens.

Authorization: Bearer fmt_YOUR_TOKEN

Path Parameters

All endpoints use three path slugs:

  • {customer} — Customer slug (e.g. my-customer)
  • {machine} — Machine slug (e.g. server-01)
  • {software} — Software slug (e.g. my-app)

Format: ^[a-z0-9][a-z0-9-]*$

Heartbeat

POST /api/ingest/{customer}/{machine}/{software}/heartbeat

Regular liveness signal. If the heartbeat is missing for >5 min, the traffic light turns red.

curl -X POST https://fleet.example.com/api/ingest/my-customer/server-01/my-app/heartbeat \
  -H "Authorization: Bearer fmt_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ts": "2026-03-06T12:00:00Z",
    "version": "1.0.0",
    "uptime_seconds": 86400,
    "pid": 12345,
    "ip_addresses": ["192.168.1.10"]
  }'

All fields are optional. ts defaults to server time if omitted.

Diagnostics

POST /api/ingest/{customer}/{machine}/{software}/diagnostics

Send diagnostic messages with error codes and severity levels.

curl -X POST https://fleet.example.com/api/ingest/my-customer/server-01/my-app/diagnostics \
  -H "Authorization: Bearer fmt_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {"code": 1001, "message": "MQTT connection failed", "severity": 2},
      {"code": 1002, "message": "Configuration loaded", "severity": 0}
    ]
  }'

Severity 0 — Info

Normal operation

Severity 1 — Warning

Degraded operation

Severity 2 — Error

Critical failure

Status

POST /api/ingest/{customer}/{machine}/{software}/status

Send the current operational status with an optional snapshot.

curl -X POST https://fleet.example.com/api/ingest/my-customer/server-01/my-app/status \
  -H "Authorization: Bearer fmt_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "running",
    "message": "All systems operational",
    "snapshot": {
      "MQTT-Host": "broker.example.com:1883",
      "Connected": true
    }
  }'

Valid status values: running, degraded, error, stopped

Response Format

All endpoints respond with:

{"ok": true}    // HTTP 200 — Success
{"detail": "..."} // HTTP 403 — Invalid token or unauthorized customer

Changelog

4.6.3 2026-03-06

Added

  • CI: GitLab Release job with automatic changelog extraction
4.4.0 2026-03-04

Added

  • Diagnostics whitelist: pattern-based event suppression
0.9.0 2026-03-04

Added

  • OpenAPI documentation with tags and response models
  • Status snapshots: full StatusEngine tree
  • Ingest rejection log reactivated

Start for free — 5 devices included

Fleet monitoring and security compliance in under 10 minutes. No credit card required.

Want to talk to an expert?

Click the link and we'll have a quick chat.

Schedule a Call →