API reference

Events

Every change to your intents and payments, as thin, immutable events. The same events your webhooks receive.

GET/api/v1/events

Events from the last 30 days. Filter with type, intent, or payment. order=created (default) lists by recording time, newest first, which suits polling; order=occurred lists by when things happened.

curl "https://indeficient.com/api/v1/events?type=payment.released&limit=50" \
  -H "Authorization: Bearer $PP_API_KEY"

GET/api/v1/events/{id}

One event, within the 30-day window.

Response
{
  "id": "evt_m4qz7rk2v6hc3xna5tjw2pde",
  "object": "event",
  "apiVersion": "2026-10-01",
  "type": "payment.protected",
  "environment": "test",
  "occurredAt": "2026-10-10T14:05:37.000Z",
  "createdAt": "2026-10-10T14:05:41.000Z",
  "data": {
    "intent": "pi_test_k3v7q2mz5hxa4wde6rtn2bpy",
    "payment": "6VoCXSvs49gnzC6ULszzsfuZdjxRv9wu8LvdmFLcY2Ac",
    "paymentRole": "primary"
  }
}

The event object

  • occurredAt is when it happened; createdAt is when Protected Pay recorded it. Order by occurredAt.
  • data holds ids and the one changed fact only: intent, payment, paymentRole, and, on payment.disputed, dispute.opened, payment.released, payment.refunded, and dispute.resolved, state: the payment’s state when the event was recorded. Fetch the resource for anything else.
  • Events never carry metadata, your merchant reference, wallets, statements, evidence, or reasons.

Event types

TypeMeaningoccurredAt
payment_intent.createdAn intent was created.When you called the API
payment_intent.canceledAn unpaid intent was canceled.When you called the API
payment.createdA buyer’s payment was bound to the intent.When the payment was created
payment.protectedIts funds are held for the protection period.When the payment was created
payment.duplicateA second buyer paid an intent that was already paid.When the payment was created
payment.disputedThe buyer opened a dispute.When the dispute was opened
dispute.openedA dispute exists for the payment.When the dispute was opened
dispute.response_submittedThe recipient submitted their response.When the response was submitted
dispute.review_startedThe arbiter started reviewing the case.When review began
payment.releasedThe payment settled to the recipient.When the payment settled
payment.refundedThe payment was refunded to the buyer.When the payment settled
dispute.resolvedA disputed payment settled, either way.When the payment settled

A duplicate payment produces payment.duplicate alone, without payment.created or payment.protected.