> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Compliance pro Person

> Bilden Sie den personenbezogenen Schulungs-Compliance-Export eines früheren Anbieters aus den /v1-Zuweisungen, -Einschreibungen und -Kursen nach.

Dieser Bericht bildet die Schulungshälfte des personenbezogenen Compliance-Exports eines früheren Anbieters ab: Verzeichnisidentität sowie eine Zeile pro Person und Schulungseinschreibung (Modulstatus und Datumsangaben).

Die Granularität ist langformatig – Person × Zuweisung –, da genau das bereits von
`GET /v1/assignments/{id}/enrollments` zurückgegeben wird. Die Abfrage
pivotiert Module nicht in Spalten.

<Note>
  Richtlinienbestätigungen sind nicht Bestandteil dieses Berichts. Living Security verfügt über
  keine API für Richtlinienakzeptanz, daher liegen diese Legacy-Spalten außerhalb des Umfangs und sind keine
  ausstehende Zuordnung. Siehe [Abweichungen vom Legacy-Export](#abweichungen-vom-legacy-export).
</Note>

Einrichtung, Anmeldedaten, Paginierung und Wiederholungsversuche bei Ratenbegrenzung entsprechen dem
[Leitfaden zur Power-BI-/Excel-Anbindung](/de/developers/v1/powerbi). Fügen Sie zuerst die gemeinsame
Abfrage `Fn_FetchAll` hinzu; dieser Bericht ruft sie über ihren Namen auf.

## Erforderliche Schlüsselbereiche

| Bereich | Verwendet für |
| - | - |
| `training:read` | `GET /v1/assignments` und `GET /v1/assignments/{id}/enrollments` |
| `course:read` | `GET /v1/courses` (Katalogtitel) |

## Quellendpunkte

| Endpunkt | Rolle |
| - | - |
| `GET /v1/assignments` | Zuweisungsliste: `assignment_id`, Titel, `course_id`, Lebenszyklusstatus, `created_at`. Die Abfrage filtert nicht nach Status, sodass aktive, pausierte und abgeschlossene Zuweisungen alle erscheinen (historische Compliance). |
| `GET /v1/assignments/{id}/enrollments` | Fortschritt pro Lernendem. Ein paginierter Durchlauf pro Zuweisung. Dies ist die Faktengranularität und die einzige `/v1`-Ressource in diesem Bericht, die die E-Mail-Adresse als Join-Schlüssel für Berichte enthält. |
| `GET /v1/courses` | Löst `course_id` → Kurstitel auf (den Namen des Schulungsmoduls). `Assignment.title` ist eine Kampagnenbezeichnung, nicht der Modulname. |

Diese Abfrage ruft `GET /v1/entities` **nicht** auf. Die Einschreibungszeile
enthält bereits `email` und `display_name`, und die Entitätsliste enthält weder
Abteilung noch Position – ein Durchlauf würde also keine Verzeichnisspalten
füllen, die die Einschreibungszeile nicht bereits besitzt.

### Granularität

Eine Zeile pro Einschreibung (Person × Zuweisung). Wird einer Person derselbe
Kurs über zwei Zuweisungen zugewiesen, entstehen zwei Zeilen. Eine Person ohne
Einschreibungen erscheint nicht – `/v1` kann ohne E-Mail-Adresse keine
verwendbare Verzeichniszeile ausgeben, und das Erfinden reiner Personenzeilen würde
unterschiedliche Granularitäten vermischen.

Anfragebudget: ein paginierter Durchlauf pro Zuweisung, nacheinander, unter dem
gemeinsamen Ratenlimit pro Schlüssel. Setzen Sie stets `limit = "500"`.

## Spaltenzuordnung

Die Legacy-Spaltennamen stammen aus dem Export Ihres früheren Anbieters. Die `/v1`-Felder
sind die öffentlichen API-Namen; die Abfrage vergibt für einige davon Aliasse für den Bericht.

| Legacy-Spalte | `/v1`-Feld oder Ableitung | Berichtsspalte |
| - | - | - |
| Email | `Enrollment.email` | `email` |
| Full name | `Enrollment.display_name` | `full_name` |
| Department | Nicht in `/v1` | Ausgelassen, nicht mit Nullwerten gefüllt |
| Other directory (title, manager, location, …) | Nicht in `/v1` – Entitäten enthalten nur E-Mail-Adresse und Anzeigenamen. | Ausgelassen |
| Training module / course name | `Course.title`, mit Rückgriff auf `Assignment.title` | `course_name` |
| Assignment / module status | `Enrollment.status` — `not_started` \| `in_progress` \| `completed` \| `overdue` \| `withdrawn` | `enrollment_status` |
| Assigned date | `Enrollment.assigned_at` | `assigned_at` |
| Completed date | `Enrollment.completed_at` | `completed_at` |
| Due date | `Enrollment.due_at` (der Legacy-Export enthielt dies möglicherweise nicht; aufgenommen, weil die API es bereitstellt) | `due_at` |
| Policy acceptance / acknowledgement | Keine Richtliniendomäne | Ausgelassen |
| Policy name, accepted date | Keine Richtliniendomäne | Ausgelassen |

Für ein Sternschema-Modell beibehaltene Join-Schlüssel: `entity_id`, `assignment_id`,
`course_id`, `user_assignment_id`.

Die Abfrage behält außerdem `course_slug`, `assignment_title`, `passed`,
`attempts`, `assignment_lifecycle_status` und `assignment_created_at` bei.
`enrollment_status` ist der Fortschritt des Lernenden, nicht der Lebenszyklus der Zuweisung
(`active` / `paused` / `completed`).

## Abweichungen vom Legacy-Export

* **Richtlinienakzeptanzen sind nicht verfügbar.** Diese Plattform besitzt keine
  Richtliniendomäne – es gibt weder `/policies` noch `/policy_acceptances` noch eine äquivalente
  `/v1`-Ressource. Behandeln Sie diese Spalten nicht als ausstehende Zuordnung. Sie
  liegen außerhalb des Umfangs.
* **Verzeichniszusätze werden ausgelassen, nicht mit Nullwerten gefüllt.** Abteilung, Position,
  Vorgesetzte und Standort sind nicht in `/v1` enthalten. Die Abfrage erfindet keine leeren
  Spalten dafür.
* **Das Fälligkeitsdatum ist enthalten**, auch wenn der Legacy-Export es nicht enthielt,
  da `Enrollment.due_at` in der API verfügbar ist.
* **Beim Kursnamen hat der Katalogtitel Vorrang.** `Course.title` ist der Modulname.
  `Assignment.title` wird nur verwendet, wenn die Katalogzeile fehlt
  (gelöscht oder nicht veröffentlicht).
* **Langformatig, nicht pivotiert.** Eine Zeile pro Einschreibung, nicht eine Zeile pro
  Person mit einer Spalte pro Modul.

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="Power-BI- und Excel-Einrichtung" href="/de/developers/v1/powerbi">
    Anmeldedaten, Paginierung und das Laden dieser Abfragen in Power BI oder Excel.
  </Card>

  <Card title="E-Mail-Phishing-Protokoll" href="/de/developers/v1/reports/email-phishing-log">
    Phishing-Interaktionen auf Ereignisebene für die letzten 12 Monate.
  </Card>

  <Card title="Anfälligste Benutzer" href="/de/developers/v1/reports/most-susceptible-users">
    Personenbezogene Zusammenfassung von Klicks, Anmeldedaten und Meldungen über 12 Monate.
  </Card>

  <Card title="API-Schlüssel" href="/de/developers/developer-hub/api-keys">
    Erteilen Sie `training:read` und `course:read` für den Schlüssel, der diesen Bericht aktualisiert.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.