Skip to content

Dispute.accepted

Emitted each time a Dispute is accepted.

Dispute.accept emits Dispute.accepted when it completes on a Dispute.

PropertyValue
Emitted byDispute.accept
NounDispute
WakesNone.

Payload

Each delivery is an Event record. data holds what Dispute.accept returns.

FieldTypeRequiredDescription
namestringrequiredDispute.accepted.
atdatetimerequiredWhen it happened.
seqintegerIts position in the namespace, one more than the Event before; any seq is a cursor into the history.
datajsonrequiredThe Thing as the Action left it.
data.disputeDisputerequiredThe closed Dispute, decided for the buyer.
data.dispute.kindstringrequiredOne of chargeback, outcome, or marketplace.
data.dispute.statusstringrequiredOne of open, answered, decided, appealed, or closed.
data.dispute.heldmoneyrequiredThe amount held from the seller until the Dispute closes.
data.dispute.reasontextrequiredWhat the buyer says fell short, in their words.
data.dispute.answerBydatetimeWhen the seller’s answer is due; a missed deadline decides for the buyer.
data.dispute.decisionstringOne of buyer, seller, or split, with the amounts each side keeps.
data.dispute.decidedBystringrequiredissuer (the cardholder’s bank) for a chargeback; worker, uninvolved in the Order, for an outcome or marketplace Dispute.
data.dispute.feemoneyThe card network’s fee on a chargeback, debited with the held amount when it opens.

Example

JSON
{
  "$id": "https://api.sb/tutorloop.com/events/event_1",
  "$type": "Event",
  "name": "Dispute.accepted",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "dispute": {
      "$id": "https://api.sb/tutorloop.com/disputes/dispute_1",
      "$type": "Dispute",
      "kind": "chargeback",
      "status": "open",
      "held": {
        "amount": 60,
        "currency": "USD"
      },
      "reason": "Example reason",
      "answerBy": "2026-10-22T12:00:00Z",
      "decision": "buyer",
      "decidedBy": "issuer",
      "fee": {
        "amount": 60,
        "currency": "USD"
      }
    }
  },
  "seq": 1
}