# ImpersonationAccessHistoryDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

## Fields
- `windowStartUtc` (string(date-time)): Where the window starts, in UTC.
- `windowEndUtc` (string(date-time)): Where the window ends, in UTC.
- `records` (array<[ImpersonationAccessRecordDto](https://devportal.demo.winkpg.io/docs/api/models/ImpersonationAccessRecordDto.md)>): The sessions, newest first. (nullable)
  Fields of each item:
  - `merchantId` (string(uuid)): The merchant the session viewed as.
  - `merchantName` (string): The merchant's name when the session started. (nullable)
  - `actorDisplayName` (string): The acting person's display name. (nullable)
  - `actorOrganisation` (string): Who the acting person works for: the reseller's name, or the platform's product name for  platform staff. (nullable)
  - `mode` ([ImpersonationSessionMode](https://devportal.demo.winkpg.io/docs/api/models/ImpersonationSessionMode.md)): The session mode.
    Values:
    - `Unspecified`: No mode has been derived. Treated as the most restrictive posture everywhere (equivalent to ReadOnly for enforcement), so an uninitialized value can never widen a session.
    - `ReadOnly`: Every permission classified Write, Delete or Manage is denied for the duration of the session. Read-classified permissions evaluate against the impersonated scope exactly as in Full.
    - `Intersect`: A permission is granted only where the impersonated scope grants it and the acting user's own roles or direct grants allow it. The permission-type classifier is not consulted: what the acting user may not do outside the session, they may not do inside it.
    - `Full`: The impersonated scope's own grants apply unmodified, including every write, delete and manage surface. The phase 1 read-write posture.
  - `startedAtUtc` (string(date-time)): When the session started, in UTC.
  - `endedAtUtc` (string(date-time)): When the session ended, in UTC, or `null` when no end was recorded. (nullable)
  - `recordsSaved` (integer(int32)): How many records were saved during the session, or `null` when the count  is not available (the audit trail was too large to count within bounds, or could not be read). (nullable)
- `truncated` (boolean): Whether the underlying log read stopped at its bound before the window was exhausted, so  older sessions inside the window may be missing.

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
