Cards add three webhook event types on top of Grid’s existing webhook infrastructure. Signature verification (Documentation Index
Fetch the complete documentation index at: https://ramps-moonrise-limestone.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
X-Grid-Signature) and
retry behavior are identical to the rest of Grid — see
Authentication and
Webhooks for the underlying mechanics.
Event types
| Type | Fires on |
|---|---|
CARD.STATE_CHANGE | PENDING_ISSUE → ACTIVE, → CLOSED (ISSUER_REJECTED), and every subsequent ACTIVE ⇄ FROZEN and → CLOSED transition. |
CARD.FUNDING_SOURCE_CHANGE | Whenever PATCH /cards/{id} updates the fundingSources array. |
CARD_TRANSACTION.UPDATED | Every reconcile event against a card transaction — authorization, clearing, refund, and lifecycle status transitions. |
id is unique per delivery and safe to use for idempotency.
CARD.STATE_CHANGE
Thedata payload is the post-change Card resource. Example —
activation after issuance:
state: "ACTIVE"afterPENDING_ISSUE— the card is live; surfacepanEmbedUrlto the cardholder.state: "CLOSED",stateReason: "ISSUER_REJECTED"— the issuer rejected provisioning; offer to issue a new card.state: "FROZEN"/state: "ACTIVE"— reflect the freeze toggle in your UI.state: "CLOSED",stateReason: "CLOSED_BY_PLATFORM"— close confirmed; stop showing the card.
CARD.FUNDING_SOURCE_CHANGE
Fires whenever aPATCH /cards/{id} call changes the fundingSources
array. The data payload is the full Card resource with the
post-change fundingSources, so a consumer that only cares about the
current set of bindings can replace state wholesale.
CARD_TRANSACTION.UPDATED
Fires on every reconcile event. Thedata payload is the
CardTransaction parent — status follows the
AUTHORIZED → PARTIALLY_SETTLED → SETTLED → REFUNDED / EXCEPTION
lifecycle, and the pullSummary, settlementSummary, and
refundSummary aggregates reflect every child event reconciled so
far.
This is the webhook to wire into your alerting for EXCEPTION
transitions:
Idempotency & retries
Webhook deliveries are at-least-once. Track processedid values and
return 200 on duplicates, or return 409 and let Grid stop
retrying. Both shapes are accepted by Grid’s webhook infrastructure.