Card lifecycle

Move a card through its states after issuance — status changes, replacement, renewal, blocking and closure.

Operations34DomainCardsStatedocumentedAPIs5

Where this is used

Implemented on 4 programmes. A capability is one business idea, built once per card programme, so these are the programmes it applies to.

Journeys that walk through it

Guides about it

  • General InformationCore card management features including card number generation, status management, PIN handling, transaction restrictions, and notification services.
  • Debit card issuing, end to endCreate the card, get it to the cardholder, then run it — the three stages of a debit programme in the order you call them.

How this behaves

What a status change actually does

Changing a card's status is never one write. The pattern in the service is five of them, and an integration that expects only the first will disagree with the platform about what happened.

  1. The card itself — the status and its date.
  2. The change log — old value, new value and a log code, in both the status log and the card log.
  3. The statistics row — the date of the last status change.
  4. The customer's asset record, kept in step through the customer service.
  5. Whatever the new status requires — a stop-list entry, a pending emboss cancelled, an SMS, a fraud or token notification.
Not every channel may make every transition.

The permitted set is a parameter matrix keyed by channel group — back office, branch, call centre, system, security — not by channel. A transition absent from the matrix for your group is refused, which is why the same call succeeds from a branch and fails from a channel you expected to be equivalent. The matrix is published in Card status transitions.

Replacing a card does not always mean a new number

A new PAN is produced only when the status being moved to is marked for it — lost and stolen are — or when the product changes. In that case a new random PIN is produced with it and the old card is marked renewed.

Otherwise the number is kept and only the card sequence number is incremented, with a new expiry date. The one ceiling worth knowing: when that sequence reaches 99 the platform moves to a new number anyway.

Close and reissue in one call
  1. changeAndReplaceCardOne call, one transaction
  2. Status changereissueCard setOnly this card — others untouched
  3. ReplaceEmboss reason, delivery, productDecides the new PAN itself
  4. Both or neitherSecond step fails → first rolls back
The flag that keeps the blast radius small.

That combined operation closes only the card you named. The customer's other cards are not touched, which is the difference between it and a status change made across a customer.

Operations

credit-digital-channels-integration

POST

/credit/api/getCardList

Retrieves a list of credit cards matching specified criteria.

POST

/credit/api/replaceCard

Replaces an existing card (e.g., due to expiration, loss, damage).

POST

/credit/api/getCardMemo

Retrieves memo/notes associated with a card.

POST

/credit/api/changeCardStatus

Changes the status of a credit card (activate, block, close, etc.).

POST

/credit/api/changeCustomerCreditCardStatus

Changes the credit card status for a given customer. Validates input parameters, calls the lifecycle service to update card statuses, and returns a list of shadow card numbers for cards that were closed. Supports optional activation of cards and ensures proper rollback and logging on failure.

POST

/credit/api/changeAndReplaceCard

Combines card status change and replacement in a single operation.

POST

/credit/api/getRenewCountByShadowCardNumber

Reads how many times a card has been renewed, broken down by emboss reason, with the maximum each reason allows. Replaces getRenewCountLostAndStolen, which counted only one reason and returned three flat figures rather than a list.

POST

/credit/api/getCreditCardInfo

Retrieves comprehensive card information including reward details.

POST

/credit/api/getCustomerCreditCardListByTenantId

Retrieves list of customer's credit cards filtered by tenant/product group.

POST

/credit/api/getCustomerCreditShadowCardsByTenantId

Retrieves shadow card numbers for a customer by tenant.

POST

/credit/api/getCustomerCreditCardListByTenantIdProductNumber

Retrieves cards filtered by tenant and product number.

POST

/credit/api/getCardListNew

Retrieves a list of credit cards based on various filters (card number, customer number, main customer number, barcode, account number, branch code, identification, courier status, etc.). Aggregates card product, branch, limit, debt, account info, annual fee, sensitive data (PAN/CVV2), and currency conversion details. Uses parallel async calls for efficiency and maps results to CreditCardModel objects.

debit-digital-channels-integration

POST

/debit/api/getCustomerDebitCardListByTenantId

Retrieves debit cards for a customer filtered by tenant ID, supporting multi-tenant architectures.

POST

/debit/api/getCustomerDebitShadowCardsByTenantId

Retrieves shadow card numbers (internal references) for a customer by tenant, supporting internal system integration.

POST

/debit/api/changeCardStatus

Changes the operational status of a debit card (e.g., Active, Blocked, Closed, Suspended).

POST

/debit/api/getCardList

Retrieves a list of debit cards matching various search criteria, supporting multiple query patterns for different use cases.

POST

/debit/api/getCardListNew

Retrieves the list of debit cards based on multiple filters such as ShadowCardNumber, CustomerNumber, MainCustomerNumber, Barcode, AccountNumber, BranchCode, CustomerNameSurname, IdentificationNumber, and CourierStatus. Supports corporate cards, active cards, and digital card flags. Returns a list of DebitCardModel including card details, sensitive data when applicable, account information via ListCardAccountByShadowCardNumber, card status logs, delivery information, and PIN setup status. Uses _dcidRepository.GetSearchByCustomernumberCardnumber for searching, _dbtServiceProxy for account and permission operations, _customerServiceProxy for card and PAN retrieval, and GetSensitiveData for retrieving sensitive card data such as CVV2.

POST

/debit/api/getCardInfo

Retrieves detailed information about a specific debit card, including status, linked accounts, and metadata.

POST

/debit/api/replaceCard

Replaces an existing card (due to expiration, loss, damage, or upgrade) while maintaining account relationships and card history.

POST

/debit/api/changeAndReplaceCard

Atomically changes card status (e.g., to closed) and initiates replacement in a single operation.

POST

/debit/api/isCardFoundIn

Checks whether a specific card exists in the system. Accepts a CardNumber and returns a flag (IsFound) along with the ServiceDomainId indicating where the card was found.

POST

/debit/api/addDebitCardLog

Adds a log entry for a debit card operation, supporting audit trails and debugging.

integration-corebanking-outdoor · not published

POST

/Outdoor/api/setCreditCardGeneralInfoInstitution

Takes a credit card's general information update from core banking