Skip to content

Thing.correct

POST /{namespace}/things/{thing}/correct

Correct fixes one field of a record that was wrong when served, keeps the value it replaced and tells every Customer who read it.

Noun
Thing
Mode
do
Event
Thing.corrected

Inputs

InputTypeRequiredDescription
thingThingrequiredThe record.
fieldstringrequiredThe field that was wrong.
valuestringrequiredThe right value.
reasontextrequiredWhy it was wrong.
evidenceurlrequiredThe Source that shows the right value.

Outputs

OutputTypeRequiredDescription
thingThingrequiredThe corrected record.

Effects

FactValue
Action classNone: no approval rule names it, so it runs within its seat's Permissions and Limits
StakesThe Startup's own records only
DoorTwo-way: it runs at once
Modestry previews it and stores nothing; send returns a pending Action; do (default) waits for the result
IdempotentOnly with a key: a repeat with the same Idempotency-Key and input returns the first Action, the same key with other input is refused with 409, and a repeat without a key runs again
UndoAction.undo reverses it
EmitsThing.corrected
Performed byThe Data Engineer
  • Each Customer that read the wrong value gets Thing.corrected in its change feed and webhooks.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operationforbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
thing is missing, or is not a thinginvalid-inputSend thing as a thing, then call it again.None.
field is missing, or is not a stringinvalid-inputSend field as a string, then call it again.None.
value is missing, or is not a stringinvalid-inputSend value as a string, then call it again.None.
reason is missing, or is not a textinvalid-inputSend reason as a text, then call it again.None.
evidence is missing, or is not a urlinvalid-inputSend evidence as a url, then call it again.None.
The Idempotency-Key was sent before with another operation or other inputidempotency-mismatchSend a new key for new input; reuse a key only to retry the same request.None.

When it waits

GateDefault
Decision classLow: two-way, no delay window
Delay windowNone: it runs once review passes.
LimitThe call Limit of the Permission it runs under.
Over the LimitIt waits pending for an Approval, which a Human answers: the owner of record, or a Human they named to approve for the Founder seat. Approved, it runs; refused, it ends refused with limit-exceeded; unanswered by its deadline, it ends canceled.

To retry, send the same Idempotency-Key: the retry returns the first Action and runs nothing twice. A new key runs the call again.