> ## 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.

# Efterlevnad per person

> Återskapa en tidigare leverantörs export av utbildningsefterlevnad per person från /v1-tilldelningar, registreringar och kurser.

Den här rapporten utgör utbildningsdelen av en tidigare leverantörs
efterlevnadsexport per person: katalogidentitet plus en rad per person och
utbildningsregistrering (modulstatus och datum).

Granulariteten är långformat – person × tilldelning – eftersom det är vad
`GET /v1/assignments/{id}/enrollments` redan returnerar. Frågan
pivoterar inte moduler till kolumner.

<Note>
  Policybekräftelser ingår inte i den här rapporten. Living Security har
  inget API för policygodkännande, så dessa äldre kolumner ligger utanför omfattningen och är inte en
  väntande mappning. Se [Avvikelser från den tidigare exporten](#avvikelser-fr%C3%A5n-den-tidigare-exporten).
</Note>

Konfiguration, autentiseringsuppgifter, paginering och nya försök vid hastighetsbegränsning är desamma som i
[anslutningsguiden för Power BI / Excel](/sv/developers/v1/powerbi). Lägg först till den delade
frågan `Fn_FetchAll`; den här rapporten anropar den med namn.

## Nödvändiga nyckelbehörigheter

| Behörighet | Används för |
| - | - |
| `training:read` | `GET /v1/assignments` och `GET /v1/assignments/{id}/enrollments` |
| `course:read` | `GET /v1/courses` (katalogtitlar) |

## Källslutpunkter

| Slutpunkt | Roll |
| - | - |
| `GET /v1/assignments` | Tilldelningslista: `assignment_id`, titel, `course_id`, livscykelstatus, `created_at`. Frågan filtrerar inte på status, så aktiva, pausade och slutförda tilldelningar visas alla (historisk efterlevnad). |
| `GET /v1/assignments/{id}/enrollments` | Förlopp per deltagare. En sidindelad genomgång per tilldelning. Detta är faktagranulariteten och den enda `/v1`-resursen i den här rapporten som har e-postadress som rapporteringsnyckel för sammanfogning. |
| `GET /v1/courses` | Översätter `course_id` → kurstitel (namnet på utbildningsmodulen). `Assignment.title` är en kampanjetikett, inte modulnamnet. |

Den här frågan anropar **inte** `GET /v1/entities`. Registreringsraden
innehåller redan `email` och `display_name`, och enhetslistan saknar
avdelning och befattning – att gå igenom den skulle därför inte fylla
katalogkolumner som registreringsraden inte redan har.

### Granularitet

En rad per registrering (person × tilldelning). En person som tilldelats samma
kurs genom två tilldelningar ger två rader. En person utan
registreringar visas inte – `/v1` kan inte skapa en användbar katalograd
utan e-postadress, och att hitta på rader med enbart personer skulle blanda granulariteter.

Förfrågningsbudget: en sidindelad genomgång per tilldelning, i följd, inom den
delade hastighetsgränsen per nyckel. Ange alltid `limit = "500"`.

## Kolumnmappning

Äldre kolumnnamn kommer från din tidigare leverantörs export. `/v1`-fälten
är de offentliga API-namnen; frågan ger vissa av dem alias för rapporten.

| Äldre kolumn | `/v1`-fält eller härledning | Rapportkolumn |
| - | - | - |
| E-post | `Enrollment.email` | `email` |
| Fullständigt namn | `Enrollment.display_name` | `full_name` |
| Avdelning | Finns inte på `/v1` | Utelämnas, sätts inte till null |
| Övrig katalogdata (befattning, chef, plats, …) | Finns inte på `/v1` – entiteter har endast e-postadress och visningsnamn. | Utelämnas |
| Utbildningsmodul / kursnamn | `Course.title`, med `Assignment.title` som reserv | `course_name` |
| Tilldelnings-/modulstatus | `Enrollment.status` – `not_started` \| `in_progress` \| `completed` \| `overdue` \| `withdrawn` | `enrollment_status` |
| Tilldelningsdatum | `Enrollment.assigned_at` | `assigned_at` |
| Slutförandedatum | `Enrollment.completed_at` | `completed_at` |
| Förfallodatum | `Enrollment.due_at` (den äldre exporten kanske inte hade detta; det ingår eftersom API:et har det) | `due_at` |
| Policygodkännande / bekräftelse | Ingen policydomän | Utelämnas |
| Policynamn, godkännandedatum | Ingen policydomän | Utelämnas |

Sammanfogningsnycklar som behålls för en stjärnschemamodell: `entity_id`, `assignment_id`,
`course_id`, `user_assignment_id`.

Frågan behåller också `course_slug`, `assignment_title`, `passed`,
`attempts`, `assignment_lifecycle_status` och `assignment_created_at`.
`enrollment_status` är deltagarens förlopp, inte tilldelningens livscykel
(`active` / `paused` / `completed`).

## Avvikelser från den tidigare exporten

* **Policygodkännanden är inte tillgängliga.** Den här plattformen har ingen
  policydomän – det finns ingen `/policies`, `/policy_acceptances` eller motsvarande
  `/v1`-resurs. Behandla inte dessa kolumner som en väntande mappning. De
  ligger utanför omfattningen.
* **Katalogtillägg utelämnas, sätts inte till null.** Avdelning, befattning,
  chef och plats finns inte på `/v1`. Frågan skapar inga tomma
  kolumner för dem.
* **Förfallodatum ingår** även om den äldre exporten inte hade det,
  eftersom `Enrollment.due_at` finns i API:et.
* **Kursnamnet prioriterar katalogtiteln.** `Course.title` är modulnamnet.
  `Assignment.title` används bara när katalograden saknas
  (borttagen eller inte publicerad).
* **Långformat, inte pivoterat.** En rad per registrering, inte en rad per
  person med en kolumn per modul.

## Nästa steg

<CardGroup cols={2}>
  <Card title="Konfigurera Power BI och Excel" href="/sv/developers/v1/powerbi">
    Autentiseringsuppgifter, paginering och inläsning av dessa frågor i Power BI eller Excel.
  </Card>

  <Card title="Logg över nätfiske via e-post" href="/sv/developers/v1/reports/email-phishing-log">
    Nätfiskeinteraktioner på händelsenivå för de senaste 12 månaderna.
  </Card>

  <Card title="Mest mottagliga användare" href="/sv/developers/v1/reports/most-susceptible-users">
    Sammanställning per person av klick, inloggningsuppgifter och rapporter under 12 månader.
  </Card>

  <Card title="API-nycklar" href="/sv/developers/developer-hub/api-keys">
    Bevilja `training:read` och `course:read` på nyckeln som uppdaterar den här rapporten.
  </Card>
</CardGroup>


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