Skip to content

System ingress ignores claims

Resolving from anywhereHTTPSDKDashboardresolveBySignalKeyresolveByMetadataassertClaim

A person's claim blocks other people resolving by id, while webhooks resolving by signal key or domain key act for the process regardless.

The situation

A reviewer has claimed an order and is halfway through the form when the upstream system reports the order was cancelled at the source. The system event should settle the row; another reviewer clicking resolve should not.

The recipe

Resolve presented Row claimed by someone else, live window
By escalation id (dashboard, resolve) 409, the lock is theirs
By signal key (resolveBySignalKey) Resolves
By metadata (resolveByMetadata) Resolves
Batch fill or accumulator add Lands, unless assertClaim: true
services/source-events.ts
await lt.escalations.resolveBySignalKey({
signalKey: `review-${orderId}`,
resolverPayload: { cancelledAtSource: true },
});

The by-id path serves people working a queue. The signal-key and metadata paths serve system ingress that acts on behalf of the process, not a claimant.

The guarantee

The by-id claim check runs twice: an advisory check before side effects, and again inside the guarded resolve statement, so a claim that lapses mid-request cannot land a stale resolution. Ingress paths skip that check by design. Batch fills and accumulator adds can opt into it with assertClaim: true. See Conditional.