Managed cards

Managed card replacement

Sent when a managed card is replaced. replacementId is the new card, and replacementReason says why the original was replaced.

Any remaining balance on the original card is moved to the replacement by a separate adjustment, reported on the Managed card balance adjustment webhook.

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/replacement/watch.

postWebhook/managed_cards/replacement/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

eventType'VIRTUAL_REPLACEMENT' | 'PHYSICAL_REPLACEMENT' required

How the card was replaced:

  • VIRTUAL_REPLACEMENT: a new virtual card was issued.
  • PHYSICAL_REPLACEMENT: a new physical card was issued and sent for fulfillment.
replacementReason'DAMAGED' | 'LOST_STOLEN' | 'RENEW' | 'COMPROMISED' required
replacementTimestampinteger required

When the card was replaced. Epoch timestamp using millisecond precision.

userIdstring

Example payload

{
  "id": {
    "id": "123456789",
    "type": "managed_accounts"
  },
  "replacementId": {
    "id": "123456789",
    "type": "managed_accounts"
  },
  "replacementTimestamp": 1786118400000,
  "userId": "987654321"
}

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.