Managed cards

Managed card state change

Sent each time a managed card is activated, blocked, unblocked, or destroyed — whether the change came from your own call, from the cardholder, or from Weavr.

state.blockedReason and state.destroyedReason say what drove the change, which distinguishes a card the cardholder reported lost from one you blocked yourself.

Enable and configure webhooks in the Embedder Portal; recent events are listed on its Webhook Logs page. Weavr sends this event to {Webhook URL}/managed_cards/state_change/watch.

postWebhook/managed_cards/state_change/watch

Headers

call-refstring

A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255

published-timestampinteger required

The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published.

signaturestring required

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the published-timestamp using your API key.

signature-v2string required

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the call-ref + payload + published-timestamp using your API key.

Payload

timestampinteger required

When the state changed. Epoch timestamp using millisecond precision.

eventType'ACTIVATED' | 'BLOCKED' | 'UNBLOCKED' | 'DESTROYED' required

What happened to the card:

  • ACTIVATED: the card was activated and can be transacted on.
  • BLOCKED: the card was blocked and will decline authorizations.
  • UNBLOCKED: the card was unblocked and can be transacted on again.
  • DESTROYED: the card was permanently destroyed. This is a final state.
cardType'VIRTUAL' | 'PHYSICAL' required
renewalType'RENEW' | 'NO_RENEW' required

Indicates how the card will be handled once it is close to expiring.

  • RENEW: The card will be automatically renewed, keeping the same card number but with a new expiry date and CVV.
  • NO_RENEW: Once the expiry date is reached, the card is destroyed.

Example payload

{
  "id": {
    "id": "123456789",
    "type": "managed_accounts"
  },
  "timestamp": 1786118400000
}

Response

Event received.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.