ProctoringLockoutOutput

Persisted proctoring lockout record with audit fields

  • dateCreated
    Type: stringFormat: date-time
    required

    the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z

  • dateLastModified
    Type: stringFormat: date-time
    required

    the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z

  • expiresAt
    Type: stringFormat: date-time
    required

    Computed server-side as startsAt + org.cooldownDurationSeconds; never accepted from caller.

  • id
    Type: stringFormat: uuid
    required
  • lockoutStatus
    Type: stringenum
    required

    Lockout lifecycle state

    values
    • active
    • expired
    • revoked
  • organizationId
    Type: stringFormat: uuid
    required
  • reason
    Type: string | null
    required

    Backend-supplied free-text reason persisted with the lockout. Frontend should render lockout copy from this field when present rather than fetching triggeringInsightId. Legacy lockouts created before this contract read back as null.

  • revokedAt
    Type: string | nullFormat: date-time
    required

    Reserved for

  • revokedByUserId
    Type: string | nullFormat: uuid
    required

    Reserved for

  • revokeReason
    Type: string | null
    required

    Reserved for

  • scopeId
    Type: string | nullFormat: uuid
    required

    LtiApplication ID when scopeType='application'; null when scopeType='global'

  • scopeType
    Type: stringenum
    required

    Lockout scope discriminator

    values
    • application
    • global
  • startsAt
    Type: stringFormat: date-time
    required

    the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z

  • triggeringInsightId
    Type: string | nullFormat: uuid
    required
  • triggeringSessionId
    Type: string | nullFormat: uuid
    required
  • userId
    Type: stringFormat: uuid
    required