Features Wie es funktioniert Pricing
Anmelden Kostenlos starten
Beta

API-Referenz

Der LaraFleet-Agent kommuniziert über HTTPS mit der LaraFleet-Plattform. Diese Seite dokumentiert den Heartbeat-Endpoint und das Payload-Format.

Authentifizierung

Jede Anfrage an den Heartbeat-Endpoint wird per HMAC-SHA256 signiert. Die Signatur basiert auf dem Projekt-API-Key und dem Anfrage-Body.

LaraFleet prüft zusätzlich einen Timestamp-Header mit einer Toleranz von ±60 Sekunden. Anfragen außerhalb dieses Fensters werden als Replay-Angriff zurückgewiesen.

# Request-Header
X-LaraFleet-Signature: sha256=<hmac>
X-LaraFleet-Timestamp: 1717056000
Content-Type: application/json

Heartbeat-Endpoint

POST https://app.larafleet.com/api/heartbeat

Nimmt den signierten Heartbeat-Payload entgegen und speichert ihn als Snapshot.

Rate Limit: 1 Request / Minute pro API-Key.

Request-Payload (Full Heartbeat)

heartbeat.json
{
  "type": "full",
  "timestamp": 1717056000,
  "laravel_version": "11.28.0",
  "php_version": "8.3.6",
  "php_extensions": ["bcmath", "ctype", "curl", ...],
  "composer_packages": [
    {
      "name": "laravel/framework",
      "installed": "11.28.0",
      "latest": "11.28.0",
      "outdated_type": null
    }
  ],
  "composer_advisories": [
    {
      "package": "laravel/framework",
      "cve": "CVE-2024-47868",
      "severity": "high",
      "title": "..."
    }
  ],
  "npm_packages": [
    {
      "name": "vite",
      "installed": "5.4.0",
      "latest": "5.4.2",
      "outdated_type": "patch"
    }
  ],
  "npm_advisories": [
    {
      "ghsa": "GHSA-xxxx-xxxx-xxxx",
      "cve": "CVE-2024-00000",
      "severity": "moderate",
      "module_name": "example-pkg"
    }
  ],
  "queue": {
    "failed_jobs": 0,
    "size": 2
  },
  "scheduler": {
    "last_run_at": "2024-05-30T09:00:00Z",
    "missed": false
  },
  "disk_usage_mb": 1240,
  "storage_usage_mb": 340,
  "env_snapshot": {
    "APP_ENV": "production",
    "APP_DEBUG": "false"
  },
  "deployment_at": "2024-05-29T14:30:00Z",
  "deployment_hash": "a3f2d1c"
}

Request-Payload (Quick Heartbeat)

{
  "type": "quick",
  "timestamp": 1717056300,
  "queue": {
    "failed_jobs": 0,
    "size": 0
  },
  "scheduler": {
    "last_run_at": "2024-05-30T09:05:00Z",
    "missed": false
  },
  "disk_usage_mb": 1240
}

Response

StatusBedeutung
200 OKHeartbeat erfolgreich gespeichert
401 UnauthorizedUngültige oder fehlende Signatur
422 UnprocessablePayload-Validierungsfehler
429 Too Many RequestsRate Limit überschritten (1 req/min)

Env-Whitelist

Der env_snapshot enthält nur explizit freigegebene Keys. Standardmäßig sind folgende Keys enthalten:

APP_ENV APP_DEBUG APP_URL DB_CONNECTION CACHE_DRIVER QUEUE_CONNECTION SESSION_DRIVER MAIL_MAILER

Die Whitelist kann in config/larafleet-agent.php angepasst werden. Sensible Keys wie DB_PASSWORD oder APP_KEY werden niemals übertragen.