# Change a Card Status
source: https://developer.mastercard.com/mastercard-processing-core/documentation/sandbox-testing/card-lifecycle-management/change-card-status/index.md

## Test case -- Success {#test-case--success}

This test case describes changing the status of a specified card contract in the CMS. Refer to [Card Contract Status](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/status-changes/index.md#card-contract-status) for more information.

For this test case, use the following information in the request:

|    Field     | Available value |
|--------------|-----------------|
| `statusCode` | 00              |
|              | 04              |
|              | 05              |
|              | 41              |
|              | 43              |
|              | 57              |
|              | 59              |

**Sample request**

`PUT /cards/70001/status`

```JSON
{
  "reason": "COMMENT",
  "statusCode": "00"
}
```

**Sample response**

`204`

## Test case -- Fail -- Change a status to the one with the lower priority {#test-case--fail--change-a-status-to-the-one-with-the-lower-priority}

This test case describes an attempt to change a status of a specified card contract to the one with the lower priority. For example, the status changed from 04 (Priority 2) to 00 (Priority 1). Refer to [Card Contract Status](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/status-changes/index.md#card-contract-status) for more information.

For this test case, use the following information in the request:

|   Path parameter   | Available value |
|--------------------|-----------------|
| `card_contract_id` | 10002           |

|    Field     | Available value |
|--------------|-----------------|
| `statusCode` | 00              |
|              | 04              |
|              | 05              |
|              | 41              |
|              | 43              |
|              | 59              |

**Sample request**

`PUT /cards/10002/status`

```JSON
{
  "reason": "COMMENT",
  "statusCode": "00"
}
```

**Sample response**

`400`

```JSON
{
  "Errors": {
    "Error": [
      {
        "Source": "MASTERCARD PROCESSING",
        "ReasonCode": "STATUS_IS_WORSE",
        "Description": "Status cannot be changed. Present status is worse.",
        "Recoverable": false
      }
    ]
  }
}
```

## Test case -- Fail -- Invalid statusCode {#test-case--fail--invalid-statuscode}

This test case describes an attempt to change the status of a specified card contract using a value of the `statusCode` field in the request body that is not supported by the CMS.

For this test case, use the following information in the request:

|    Field     | Available value |
|--------------|-----------------|
| `statusCode` | INVALID         |

**Sample request**

`PUT /cards/70001/status`

```JSON
{
  "reason": "COMMENT",
 "statusCode": "INVALID"
}
```

**Sample response**

`400`

```JSON
{
  "Errors": {
    "Error": [
      {
        "Source": "MASTERCARD PROCESSING",
        "ReasonCode": "STATUS_CODE_NOT_SUPPORTED",
        "Description": "Status code INVALID is not supported for contract with id 70001.",
        "Recoverable": false
      }
    ]
  }
}
```

