Class DocVerificationChallengeEntity
- Namespace
- SEBT.Portal.Infrastructure.Data.Entities
- Assembly
- SEBT.Portal.Infrastructure.dll
Entity model for tracking individual document verification attempts. Each challenge has its own lifecycle independent from the user's overall proofing status.
public class DocVerificationChallengeEntity
- Inheritance
-
objectDocVerificationChallengeEntity
Properties
AllowIdRetry
Whether the user can retry with a different ID number.
public bool AllowIdRetry { get; set; }
Property Value
- bool
CreatedAt
public DateTime CreatedAt { get; set; }
Property Value
- DateTime
DocvTokenIssuedAt
When the DocV transaction token was last issued (UTC).
public DateTime? DocvTokenIssuedAt { get; set; }
Property Value
- DateTime?
DocvTransactionToken
The Socure DocV transaction token passed to the frontend SDK.
public string? DocvTransactionToken { get; set; }
Property Value
- string
DocvUrl
The Socure verification URL for the document capture flow.
public string? DocvUrl { get; set; }
Property Value
- string
EvalId
Socure's evaluation ID for fallback webhook correlation.
public string? EvalId { get; set; }
Property Value
- string
ExpiresAt
When this challenge expires.
public DateTime? ExpiresAt { get; set; }
Property Value
- DateTime?
Id
Database primary key. Not exposed in API responses.
public Guid Id { get; set; }
Property Value
- Guid
OffboardingReason
Reason code for off-boarding when verification is rejected.
public string? OffboardingReason { get; set; }
Property Value
- string
ProofingDateOfBirth
Date of birth from ID proofing (yyyy-MM-dd), for refreshing an expired DocV token.
public string? ProofingDateOfBirth { get; set; }
Property Value
- string
ProofingIdType
ID type from ID proofing (e.g. ssn, itin).
public string? ProofingIdType { get; set; }
Property Value
- string
ProofingIdValue
ID value from ID proofing.
public string? ProofingIdValue { get; set; }
Property Value
- string
PublicId
Opaque identifier exposed to API consumers. Prevents IDOR enumeration.
public Guid PublicId { get; set; }
Property Value
- Guid
RowVersion
Optimistic concurrency token. SQL Server auto-increments this on every UPDATE. EF Core uses it to detect concurrent modifications.
[Timestamp]
public byte[]? RowVersion { get; set; }
Property Value
- byte[]
SocureEventId
The event ID from the last processed Socure webhook. Used for idempotency.
public string? SocureEventId { get; set; }
Property Value
- string
SocureReferenceId
Socure's reference ID for primary webhook correlation.
public string? SocureReferenceId { get; set; }
Property Value
- string
Status
Current lifecycle state (0=Created, 1=Pending, 2=Verified, 3=Rejected, 4=Expired).
public int Status { get; set; }
Property Value
- int
UpdatedAt
public DateTime UpdatedAt { get; set; }
Property Value
- DateTime
User
Navigation property to the owning user.
public UserEntity? User { get; set; }
Property Value
UserId
Foreign key to the owning user.
public Guid UserId { get; set; }
Property Value
- Guid