Cards

Replace or renew an existing card. This endpoint creates a new card with the same settings and card type, with new sensitive card data, for the same cardholder. This can be useful to replace for instance a stolen credit card.

When the old card is terminated depends on the card type and terminateCardReason:

  • Virtual cards: at once.
  • Physical cards, LOST or STOLEN: at once.
  • Physical cards, OTHER, DAMAGED or EXPIRING_SOON: when the new card is activated. Until then, the old card stays active.

The following callbacks are sent:

  • New card: CARD_CREATED, then CARD_BALANCE_UPDATED and CARD_LIMIT_CHANGED. A replacement card is created in its final state, so you receive no CARD_ISSUED or CARD_STATUS_CHANGED for it at creation. A physical replacement card starts in PENDING_ACTIVATION. When the cardholder activates it, you receive CARD_ACTIVATED and CARD_STATUS_CHANGED for it. This can be days or weeks after the replace request.
  • Old card: CARD_TERMINATED and CARD_STATUS_CHANGED, at the termination time above.

The order of these callbacks is not guaranteed, also between the two cards. Use replacedCardId from the response to link the new card to the old one.

post/cards/{cardId}/replace

Request

Path parameters

cardIdstring uuid required

The unique identifier of the card.

Request body

terminateCardReason'DAMAGED' | 'EXPIRING_SOON' | 'LOST' | 'STOLEN' | 'OTHER' required

The reason why the card is being replaced. Depending on the card type there are different valid reasons.

DAMAGED can be used for physical cards. EXPIRING_SOON can be used for physical and virtual cards, plus the cards has to expiry within the next three months. LOST can be used for physical cards. STOLEN can be used for all types of cards. OTHER can be used for all types of cards.

A replacement of a card is only possible if the card is not in one of the following statuses: PENDING_ISSUANCE, PENDING_REGISTRATION, REQUESTED. Also, single-use cards cannot be replaced at all.

expiryPeriodMonthsinteger required

The number of months the new card should be valid for. This needs to follow the guidelines from normal card issuing.

Response

Ok

cardIdstring uuid
type'VIRTUAL' | 'SINGLE_USE' | 'PHYSICAL' | 'BLACK' | 'TRAVEL' nullable

Deprecated, please use cardConfig instead. VIRTUAL - Virtual credit card SINGLE_USE - One-time virtual credit card (only one authorization allowed per card) PHYSICAL - Physical credit card BLACK - Physical black premium credit card TRAVEL - Virtual cards used specifically in travel industry related use cases

cardholderIdstring uuid
organizationIdstring uuid
limitRenewFrequency'DAILY' | 'WEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'TOTAL'
  • DAILY - The card limit is renewed every day
  • WEEKLY - The card limit is renewed every week
  • MONTHLY - The card limit is renewed every calendar month
  • QUARTERLY - The card limit is renewed every calendar quarter
  • ANNUAL - The card limit is renewed every year
  • TOTAL - The card limit is never going to be renewed. After the limit is spent the card cannot be used anymore.
expiryDatestring date-time
labelstring nullable

Available only for virtual cards with a cardConfig containing VIRTUAL or TRAVEL. The maximum length is 40 characters.

purposestring nullable

Available only for cards with type SINGLE_USE

cardDesignstring
cardDesignIdstring uuid

The unique identifier of the card design used for this specific card.

productRefstring

This field is deprecated and will be removed in the future. Use cardDesignId instead.

platformFeeboolean
cardConfigstring

Please contact your Pliant contact person for details

replacedByCardIdstring uuid

Filled, if this card was replaced by another card.

replacedCardIdstring uuid

Filled, if this card replaced another card.

replacementReason'DAMAGED' | 'EXPIRING_SOON' | 'LOST' | 'OTHER' | 'STOLEN'

Describes the reason for the card replacement.

cardAccountIdstring uuid

The unique identifier of the card account.

Changes

    • breaking

      the response's body type changed from no type to object for status

    • breaking

      the response's body type changed from no type to object for status

    • breaking

      the response's body type changed from no type to object for status

    • breaking

      the response's body type changed from no type to object for status

    • info

      added the media type application/json for the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status