Skip to content

Dispute.appealed

Emitted each time a Dispute is appealed.

Dispute.appeal emits Dispute.appealed when it completes on a Dispute.

PropertyValue
Emitted byDispute.appeal
NounDispute
WakesNone.

Payload

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

FieldTypeRequiredDescription
namestringrequiredDispute.appealed.
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 appealed Dispute.
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.appealed",
  "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
}