# Replace a Physical Card
source: https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/replace-pc/index.md

## Overview {#overview}

This use case describes the process for a cardholder to replace the lost or stolen physical card.

## Sequence diagram {#sequence-diagram}

Diagram replace-pc-new1

### Explanation {#explanation}

1. The cardholder requests to replace the current stolen or lost card with a new physical card.
2. The mobile application or e-banking service sends a request to the server to replace the card.
3. The server sends a `PUT` request to the `/cards/{card_contract_id}/status` endpoint by passing the `statusCode` field in the request body with a value that reflects the reason the card was blocked. Refer to [Card Contract Status](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/status-changes/index.md#card-contract-status) for more information.
4. The API returns the response with a successful card status change.
5. The server sends a `POST` request to the `/cards/{card_contract_id}/plastics` endpoint with the `REPLACE` value in the `reissueType` field in the request body. Note: Refer to [Card Lifecycle Overview](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/card-lifecycle/index.md) for more information.
6. The API sends a response with newly generated `newCardContractId`, `newCardContractNumber`, `newCardExpiryDate`, `newSequenceNumber`, and `plasticId` values. Note: The PIN is generated by the CMS in this use case. To learn more about `sequenceNumber`, refer to [Card Plastic Sequence Number](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/card-management-system/index.md#card-plastic-sequence-number).
7. The server sends a response to the mobile application or e-banking service.
8. The mobile application or e-banking service notifies the cardholder that the current card has been blocked and a new physical card has been ordered. Note: Once a card has been created, you can retrieve the card data. Refer to [Display Card Details to the Cardholder](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/disp-card-det-to-crdholder/index.md) for more information.
9. The CMS changes the `productionStatus` value in the new card contract to `Marked`. Refer to [Card Contract Production Status](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/status-changes/index.md#card-contract-production-status) for more information.
10. The CMS generates an encrypted personalization file and uploads it to the SFTP of the personalization bureau.
11. The personalization bureau downloads the personalization file from the Mastercard Processing SFTP.
12. The personalization bureau produces a physical card based on the personalization file.
13. The personalization bureau generates a report in response to the received personalization file. The report is sent to Mastercard Processing and uploaded to the SFTP in your dedicated directory.
14. You can download the personalization report from dedicated SFTP. The sensitive data in the report is masked. Note: Refer to [Personalization Process](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/issuing-card/index.md#personalization-process) for more information about the personalization file and report.
15. The physical card is delivered to the cardholder. Tip: The cardholder must activate the card once they receive it. Refer to the [Activate a Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/activate-a-card/index.md) use case for more information. Before activation, the `plasticId` of the newly created physical card is set to `Locked` status to prevent unauthorized card use. Refer to [Sandbox testing](https://developer.mastercard.com/mastercard-processing-core/documentation/sandbox-testing/card-lifecycle-management/replace-card/index.md) for information on how to execute the use case in the Sandbox environment.

## Endpoints {#endpoints}


API Reference: `PUT /cards/{card_contract_id}/status`


API Reference: `POST /cards/{card_contract_id}/plastics`

<br />

