Authority-API

Die Endpunkte, die das SDK selbst anspricht. Basis: https://uespa.io/v1/authority

EndpunktZweck
GET /v1/authority/infoPublic Keys (Ops, Root)
POST /v1/authority/heartbeatN × 128-Byte-Heartbeats → N × 64-Byte-LeaseAcks (max. 64 pro Batch)
POST /v1/authority/macaroonsQuota-Macaroon für uespa.net (LicenseCert + Gerätesignatur)
GET /v1/authority/statsanonymes Rollout-Aggregat
UDP rendezvous.uespa.io:47401Rendezvous für Hole-Punching (200-Byte-Pakete)

Quota-Macaroon anfordern

Das Gerät signiert device_pubkey ‖ timestamp (Domain MACAROON_REQUEST); der Zeitstempel darf höchstens 5 Minuten abweichen. Pro Lizenz gibt es Macaroons für höchstens max_devices Geräte.

json
POST /v1/authority/macaroons
{
  "license_b64": "<LicenseCert, Base64>",
  "device_pubkey": "<32 Byte hex>",
  "timestamp": 1793700000,
  "device_sig": "<64 Byte hex>"
}

Antwort: Grant-Macaroon (Base64), aus dem das Gerät offline 10-MB-Subtokens ableitet.

Developer-Portal-API

Das Portal nutzt eine eigene, angemeldete API unter /api/dev/* (Apps, Mandanten, Lizenzen). Sie ist für die Portal-Oberfläche gedacht und kann sich ändern.