Discovery-Function

Anonyme Azure Function unter api.claimwing.de. Sie liefert der App vor dem Login die globale Konfiguration: gegen welche API sie spricht und welche Entra-App-Registration für den Login genutzt wird. Die Auswahl der Hausverwaltung passiert erst nach dem Login über /api/me — nicht hier.

GET /discover

Anonym. Liefert ausschließlich nicht-sensible globale App-Config (keine Mandantendaten, kein Per-Slug-Lookup).

Query-ParameterBeschreibung
stamp (optional)Routing auf einen Stamp (z. B. dedizierter Enterprise-Stamp mit eigener API-URL). Format [a-z0-9-]{1,80}. Default standard.

Antwort 200 OK

{
  "apiUrl": "https://api.claimwing.de",
  "region": "germanywestcentral",
  "entraTenantId": "<external-id-tenant-guid>",
  "entraClientId": "<app-registration-id>",
  "stamp": "standard"
}
StatusBedeutung
400 invalid_stampStamp-Format ungültig.
404 unknown_stampStamp/Produkt nicht konfiguriert (Env-Vars fehlen).

Konfiguration (Environment-Variablen)

Pro Produkt und Stamp, mit Fallback auf DEFAULT_* beim Standard-Stamp:

VariableBeschreibung
STAMP_<PRODUKT>_<STAMP>_API_URLAPI-URL des Stamps. Fallback: DEFAULT_API_URL.
STAMP_<PRODUKT>_<STAMP>_ENTRA_TENANT_IDEntra-External-ID-Tenant. Fallback: DEFAULT_ENTRA_TENANT_ID.
STAMP_<PRODUKT>_<STAMP>_ENTRA_CLIENT_IDApp-Registration-Client-ID. Fallback: DEFAULT_ENTRA_CLIENT_ID.
STAMP_<PRODUKT>_<STAMP>_REGIONOptional. Fallback: DEFAULT_REGION bzw. germanywestcentral.

Beispiel Standard-Stamp für claimwing: es genügen DEFAULT_API_URL, DEFAULT_ENTRA_TENANT_ID, DEFAULT_ENTRA_CLIENT_ID.

Onboarding / Provisionierung

Hinweis: Der frühere Webhook POST /onboarding/create-tenant (Table-Storage + Queue) ist Legacy und nicht der MVP-Weg. Self-Service-Onboarding läuft über die API: POST /api/plattform/anfragen → Admin-Freigabe → Inline-Provisionierung. Siehe API-Referenz (Tag „Self-Service-Onboarding").