Skip to main content
MED processing webhooks report case and infraction lifecycle changes through a common versioned envelope. Receiving these events requires an active MED_PROCESSING subscription for the intended owner. MED_PROCESSING is not one of the numeric values currently accepted by /v3/webhooks.

Subscription scopes

One source event can create separate USER and ACCOUNT deliveries. Each matching subscription receives its own delivery_id. The callback exposes subscription_scope but does not expose the owner identifiers.

Events

A status-change event is not created when the status value is unchanged.

Envelope

Case status-change example

Case data

Case events contain:
  • case_id
  • transaction_id
  • root_end_to_end_id
  • status
  • previous_status for a status change
  • requested_amount
  • blocked_amount_total
  • returned_amount_total
  • currency
  • flow_type
  • created_at
  • updated_at
  • analysis_deadline
  • manual_refund_deadline
Case status values are:
  • CREATED
  • TRACKED
  • AWAITING_ANALYSIS
  • ANALYZED
  • RETURN_PROCESSING
  • COMPLETED
  • CANCELLED
  • FAILED
flow_type values are UNSPECIFIED, AUTOMATED, or MANUAL.

Infraction status-change example

Infraction data

Infraction events contain:
  • case_id
  • infraction_id
  • dict_infraction_id
  • root_end_to_end_id
  • status
  • previous_status for a status change
  • requested_amount
  • blocked_amount
  • currency
  • analysis_result
  • received_at
  • sla_deadline
  • closed_at
Infraction status values are:
  • RECEIVED
  • BLOCKING_PENDING
  • BLOCKED
  • ANALYSIS_PENDING
  • CLOSED_AGREED
  • CLOSED_DISAGREED
  • CANCELLED
  • FAILED
analysis_result values are UNSPECIFIED, AGREED, or DISAGREED. All MED amount fields are decimal strings. MED timestamps are JSON numbers containing Unix milliseconds. previous_status is omitted when it does not apply. Ignore unknown fields so additive payload changes do not break your receiver.

Ordering and idempotency

  • Use delivery_id as the delivery idempotency key.
  • The same event_id sent to different subscriptions has different delivery_id values.
  • Deliveries are at least once and are not globally ordered.
  • Use resource_id and resource_version to reject stale snapshots.
  • Do not derive business meaning by parsing event_id.
See Delivery and Retries for acknowledgement and retry behavior.