Authority-API
Die Endpunkte, die das SDK selbst anspricht. Basis: https://uespa.io/v1/authority
| Endpunkt | Zweck |
|---|---|
GET /v1/authority/info | Public Keys (Ops, Root) |
POST /v1/authority/heartbeat | N × 128-Byte-Heartbeats → N × 64-Byte-LeaseAcks (max. 64 pro Batch) |
POST /v1/authority/macaroons | Quota-Macaroon für uespa.net (LicenseCert + Gerätesignatur) |
GET /v1/authority/stats | anonymes Rollout-Aggregat |
UDP rendezvous.uespa.io:47401 | Rendezvous 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.