Table of Contents

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
object
DocVerificationChallengeEntity

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

UserEntity

UserId

Foreign key to the owning user.

public Guid UserId { get; set; }

Property Value

Guid