Table of Contents

Class WebhookRejectionRecord

Namespace
FlowOrchestrator.Core.Storage
Assembly
FlowOrchestrator.Core.dll

One row in the webhook delivery log. Persisted by IWebhookRejectionStore for both rejected and accepted deliveries; the IsAccepted flag distinguishes the two.

public sealed record WebhookRejectionRecord : IEquatable<WebhookRejectionRecord>
Inheritance
WebhookRejectionRecord
Implements
Inherited Members

Properties

BodyBytes

Total body bytes the publisher sent (or attempted to send before the cap).

public int BodyBytes { get; init; }

Property Value

int

BodyTruncated

Up to 4 KiB of the body, redacted of bearer-style headers, stored as JSON. Plain UTF-8 string when not JSON.

public string? BodyTruncated { get; init; }

Property Value

string

FlowId

Resolved flow identifier; null when the route did not match a flow.

public Guid? FlowId { get; init; }

Property Value

Guid?

HeadersJson

Filtered request headers JSON (sensitive headers stripped).

public string? HeadersJson { get; init; }

Property Value

string

Id

Auto-generated row identifier. Set by the store.

public long Id { get; init; }

Property Value

long

IsAccepted

true when this row represents an accepted delivery (recent-receives log) rather than a rejection.

public bool IsAccepted { get; init; }

Property Value

bool

ProcessingMs

Wall-clock pipeline processing time in milliseconds.

public double? ProcessingMs { get; init; }

Property Value

double?

Reason

Failure category (signature_invalid, replay, rate_limited, ...). Empty for accepted entries.

public string Reason { get; init; }

Property Value

string

ReceivedAt

UTC instant the request hit the dashboard.

public DateTimeOffset ReceivedAt { get; init; }

Property Value

DateTimeOffset

RemoteIp

Best-effort client IP after XFF parsing.

public string? RemoteIp { get; init; }

Property Value

string

Scheme

Selected signature scheme name when known, for triage filtering.

public string? Scheme { get; init; }

Property Value

string

StatusCode

HTTP status the dashboard returned to the publisher.

public int StatusCode { get; init; }

Property Value

int

TriggerKey

Trigger key the request was matched to; null when unknown.

public string? TriggerKey { get; init; }

Property Value

string