Skip to content

Lizenzierung API

ENTWURF — Nur für interne Entwicklerteams

Diese API-Referenz ist für interne Entwicklerteams bestimmt.

Übersicht

Was es ist: Die Lizenzierung-API bietet eine vollständige Lizenzlebenszyklus-Verwaltung für Hydden Discovery, einschließlich Lesen des Lizenzstatus, Erstellen und Aktivieren von Lizenzen, Verwalten von Lizenzregistrierungen, Generieren von Einmalpasswörtern für die Aktivierung und Abrufen von Lizenzserver-Informationen.

Quelle: src/license/rest/rest.go

Basispfad

/internal/v1/license

Authentifizierung

Alle Endpunkte erfordern JWT-Cookie- oder API-Token-Authentifizierung.

Endpunkte

MethodePfadBeschreibung
GET/internal/v1/licenseAktuelle Lizenzinformationen abrufen
POST/internal/v1/licenseEine neue Lizenz erstellen/registrieren
PATCH/internal/v1/licenseEine bestehende Lizenz aktualisieren/patchen
POST/internal/v1/license/storeEinen Lizenztoken speichern/persistieren
GET/internal/v1/license/otpLizenz-OTP abrufen (aktueller Mandant)
GET/internal/v1/license/otp/:tidLizenz-OTP für einen bestimmten Mandanten abrufen
GET/internal/v1/license/recordLizenzdatensatz-Informationen abrufen
DELETE/internal/v1/license/recordDen Lizenzdatensatz löschen
GET/internal/v1/license/serverLizenzserver-Adresse abrufen
POST/internal/v1/license/registrationEine neue Lizenzregistrierung erstellen
PATCH/internal/v1/license/registrationEine bestehende Lizenzregistrierung aktualisieren
GET/internal/v1/license/requestEine neue Lizenzanfrage generieren

GET /internal/v1/license

Den aktuellen Lizenzstatus und die Details abrufen. Gibt eine Testlizenz zurück, wenn keine gültige Lizenz gefunden wird.

Anfrage:

http
GET /internal/v1/license
Authorization: Bearer <token>

Antwort (200):

json
{
  "status": "active",
  "plan": "enterprise",
  "expiresAt": "2027-02-12T00:00:00Z",
  "features": ["ai-assistant", "attestation", "automation", "universal-collector"],
  "limits": {
    "maxAccounts": 100000,
    "maxDataSources": 200
  }
}

Fallback: Wenn die gespeicherte Lizenz nicht analysiert werden kann, wird stattdessen eine Testlizenz zurückgegeben.


POST /internal/v1/license

Eine neue Lizenz aus einem Lizenzregistrierungsstring erstellen oder registrieren.

Anfrage:

http
POST /internal/v1/license
Content-Type: application/json
Authorization: Bearer <token>
json
"license-registration-string"

Hinweis: Der Anfragekörper ist ein einfacher JSON-String (in Anführungszeichen), kein JSON-Objekt.

Antwort (200): Rohe Lizenz-Bytes (binärer Token).


PATCH /internal/v1/license

Eine bestehende Lizenz aktualisieren oder patchen.

Anfrage:

http
PATCH /internal/v1/license
Content-Type: application/json
Authorization: Bearer <token>
json
"updated-license-string"

Antwort (200): Rohe Lizenz-Bytes (binärer Token).


POST /internal/v1/license/store

Einen Lizenztoken im Registry-Speicher persistieren.

Anfrage:

http
POST /internal/v1/license/store
Content-Type: application/json
Authorization: Bearer <token>

Der Anfragekörper enthält den Lizenztoken-String.

Antwort (200): Lizenztoken-Bytes zur Bestätigung der Speicherung.


GET /internal/v1/license/otp/:tid

Ein Einmalpasswort für die Lizenzaktivierung abrufen. Das OTP wird während des initialen Lizenzregistrierungs-Handshakes verwendet.

Anfrage:

http
GET /internal/v1/license/otp/:tid
Authorization: Bearer <token>

Pfadparameter:

ParameterBeschreibung
tidMandanten-ID (optional — verwenden Sie /otp ohne den Parameter für den aktuellen Mandanten)

Antwort (200):

json
{
  "otp": "ABC123-DEF456",
  "expiresAt": "2026-02-12T01:00:00Z"
}

GET /internal/v1/license/record

Den Lizenzdatensatz mit Registrierungs- und Aktivierungsmetadaten abrufen.

Anfrage:

http
GET /internal/v1/license/record
Authorization: Bearer <token>

Abfrageparameter:

ParameterTypBeschreibung
tenantstringOptionale Mandanten-ID-Überschreibung

Antwort (200):

json
{
  "id": "record-uuid",
  "tenantId": "tenant-uuid",
  "registrationDate": "2026-01-15T00:00:00Z",
  "lastRefresh": "2026-02-12T00:00:00Z"
}

DELETE /internal/v1/license/record

Den Lizenzdatensatz löschen. Dies deaktiviert effektiv die Lizenz für den Mandanten.

Anfrage:

http
DELETE /internal/v1/license/record
Authorization: Bearer <token>

Antwort (200): Gibt den gelöschten LicenseRecord zurück.


GET /internal/v1/license/server

Die konfigurierte Lizenzserver-Adresse abrufen.

Anfrage:

http
GET /internal/v1/license/server
Authorization: Bearer <token>

Antwort (200): Klartext-String mit der Lizenzserver-URL.

https://license.hydden.com

POST /internal/v1/license/registration

Eine neue Lizenzregistrierung beim Lizenzserver erstellen.

Anfrage:

http
POST /internal/v1/license/registration
Content-Type: application/json
Authorization: Bearer <token>
json
{
  "tenantId": "tenant-uuid",
  "registrationCode": "REG-CODE-123"
}

Antwort (200): Rohe Antwort-Bytes vom Lizenzserver.


PATCH /internal/v1/license/registration

Eine bestehende Lizenzregistrierung aktualisieren, um die Lizenz zu erneuern oder zu aktualisieren.

Anfrage:

http
PATCH /internal/v1/license/registration
Authorization: Bearer <token>

Kein Anfragekörper erforderlich.

Antwort (200): Rohe Antwort-Bytes vom Lizenzserver.


GET /internal/v1/license/request

Eine neue Lizenzanfrage generieren, die zur Offline-Aktivierung an den Lizenzserver übermittelt werden kann.

Anfrage:

http
GET /internal/v1/license/request
Authorization: Bearer <token>

Antwort (200): Rohe Lizenzanfrage-Bytes (für die Offline-Übermittlung).


Fehlerantworten

StatusBeschreibung
400Ungültiger Lizenzstring oder Registrierungsdaten
403Authentifizierung fehlgeschlagen oder unzureichende Berechtigungen
404Lizenz oder Lizenzdatensatz nicht gefunden
500Interner Serverfehler oder Lizenzserver nicht erreichbar

Verwandte Themen

Hydden Documentation and Training Hub