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

# Samsvar per person

> Gjenskap en tidligere leverandørs eksport av opplæringssamsvar per person fra /v1-tildelinger, påmeldinger og kurs.

Denne rapporten utgjør opplæringsdelen av en tidligere leverandørs eksport av
samsvar per person: katalogidentitet pluss én rad per person per
opplæringspåmelding (modulstatus og datoer).

Granulariteten er langt format – person × tildeling – fordi det er dette
`GET /v1/assignments/{id}/enrollments` allerede returnerer. Spørringen
pivoterer ikke moduler til kolonner.

<Note>
  Policybekreftelser er ikke en del av denne rapporten. Living Security har
  ikke noe API for policygodkjenning, så disse eldre kolonnene ligger utenfor omfanget og
  er ikke en ventende tilordning. Se [Avvik fra den tidligere eksporten](#avvik-fra-den-tidligere-eksporten).
</Note>

Oppsett, legitimasjon, paginering og nye forsøk ved rategrenser er de samme som i
[veiledningen for Power BI / Excel-tilkobling](/no/developers/v1/powerbi). Legg først til den delte
`Fn_FetchAll`-spørringen; denne rapporten kaller den ved navn.

## Nødvendige nøkkelomfang

| Omfang | Brukes til |
| - | - |
| `training:read` | `GET /v1/assignments` og `GET /v1/assignments/{id}/enrollments` |
| `course:read` | `GET /v1/courses` (katalogtitler) |

## Kildeendepunkter

| Endepunkt | Rolle |
| - | - |
| `GET /v1/assignments` | Tildelingsliste: `assignment_id`, tittel, `course_id`, livssyklusstatus, `created_at`. Spørringen filtrerer ikke på status, så aktive, pausede og fullførte tildelinger vises alle (historisk samsvar). |
| `GET /v1/assignments/{id}/enrollments` | Fremdrift per deltaker. Én paginert gjennomgang per tildeling. Dette er faktagranulariteten og den eneste `/v1`-ressursen i denne rapporten som har e-post som rapporteringsnøkkel for kobling. |
| `GET /v1/courses` | Løser `course_id` → kurstittel (navnet på opplæringsmodulen). `Assignment.title` er en kampanjeetikett, ikke modulnavnet. |

Denne spørringen kaller **ikke** `GET /v1/entities`. Påmeldingsraden
har allerede `email` og `display_name`, og enhetslisten har ingen
avdeling eller stillingstittel – så en gjennomgang av den ville ikke fylle ut katalogkolonner
som påmeldingsraden ikke allerede har.

### Granularitet

Én rad per påmelding (person × tildeling). En person som er tildelt det samme
kurset gjennom to tildelinger, gir to rader. En person uten
påmeldinger vises ikke – `/v1` kan ikke gi en brukbar katalograd
uten e-post, og å finne på rader med kun person ville blande granulariteter.

Forespørselsbudsjett: én paginert gjennomgang per tildeling, sekvensielt, innenfor den
delte rategrensen per nøkkel. Angi alltid `limit = "500"`.

## Kolonnetilordning

Navnene på de eldre kolonnene er hentet fra din tidligere leverandørs eksport. `/v1`-feltene
er de offentlige API-navnene; spørringen gir noen av dem aliaser i rapporten.

| Eldre kolonne | `/v1`-felt eller utledning | Rapportkolonne |
| - | - | - |
| E-post | `Enrollment.email` | `email` |
| Fullt navn | `Enrollment.display_name` | `full_name` |
| Avdeling | Finnes ikke på `/v1` | Utelatt, ikke satt til null |
| Annen katalogdata (tittel, leder, sted, …) | Finnes ikke på `/v1` – enheter har bare e-post og visningsnavn. | Utelatt |
| Opplæringsmodul / kursnavn | `Course.title`, med `Assignment.title` som reserve | `course_name` |
| Tildelings- / modulstatus | `Enrollment.status` – `not_started` \| `in_progress` \| `completed` \| `overdue` \| `withdrawn` | `enrollment_status` |
| Tildelingsdato | `Enrollment.assigned_at` | `assigned_at` |
| Fullføringsdato | `Enrollment.completed_at` | `completed_at` |
| Frist | `Enrollment.due_at` (den eldre eksporten hadde kanskje ikke denne; tatt med fordi API-et har den) | `due_at` |
| Policygodkjenning / bekreftelse | Ikke noe policydomene | Utelatt |
| Policynavn, godkjent dato | Ikke noe policydomene | Utelatt |

Koblingsnøkler som beholdes for en stjerneskjemamodell: `entity_id`, `assignment_id`,
`course_id`, `user_assignment_id`.

Spørringen beholder også `course_slug`, `assignment_title`, `passed`,
`attempts`, `assignment_lifecycle_status` og `assignment_created_at`.
`enrollment_status` er deltakerens fremdrift, ikke tildelingens livssyklus
(`active` / `paused` / `completed`).

## Avvik fra den tidligere eksporten

* **Policygodkjenninger er ikke tilgjengelige.** Denne plattformen har ikke noe
  policydomene – det finnes ingen `/policies`, `/policy_acceptances` eller tilsvarende
  `/v1`-ressurs. Ikke behandle disse kolonnene som en ventende tilordning. De
  ligger utenfor omfanget.
* **Ekstra katalogdata er utelatt, ikke satt til null.** Avdeling, stillingstittel,
  leder og sted finnes ikke på `/v1`. Spørringen oppretter ikke tomme
  kolonner for dem.
* **Frist er tatt med** selv om den eldre eksporten ikke hadde den,
  fordi `Enrollment.due_at` finnes i API-et.
* **Kursnavnet foretrekker katalogtittelen.** `Course.title` er modulnavnet.
  `Assignment.title` brukes bare når katalograden mangler
  (slettet eller ikke publisert).
* **Langt format, ikke pivotert.** Én rad per påmelding, ikke én rad per
  person med en kolonne per modul.

## Neste trinn

<CardGroup cols={2}>
  <Card title="Oppsett av Power BI og Excel" href="/no/developers/v1/powerbi">
    Legitimasjon, paginering og innlasting av disse spørringene i Power BI eller Excel.
  </Card>

  <Card title="E-postlogg for phishing" href="/no/developers/v1/reports/email-phishing-log">
    Phishing-interaksjoner på hendelsesnivå for de siste 12 månedene.
  </Card>

  <Card title="Mest utsatte brukere" href="/no/developers/v1/reports/most-susceptible-users">
    Oppsummering per person av klikk, legitimasjon og rapportering over 12 måneder.
  </Card>

  <Card title="API-nøkler" href="/no/developers/developer-hub/api-keys">
    Gi `training:read` og `course:read` til nøkkelen som oppdaterer denne rapporten.
  </Card>
</CardGroup>


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