# Pre-Release Notes - January 2022
source: https://developer.mastercard.com/mdes-digital-enablement/documentation/release-notes/pre-release-notes-jan-2022/index.md

##### The MDES Platform v2022 January Release will introduce new parameters to Tokenize API response. {#the-mdes-platform-v2022-january-release-will-introduce-new-parameters-to-tokenize-api-response}

The Digital Enablement API will be enhanced to return an active token from a tokenize request. Merchants will no longer be required to wait for the Notify Token Updated (NTU) call from MDES to indicate that a token is active. The token details (including the token number and expiry) will be included in the tokenize response.

The enhancement will be released in a phased manner to customers in production. An increasing percentage of tokenize responses will contain token details starting on the 20th January 2022 and completing by the 4th February 2022. After 4th February 2022, all tokenize responses will contain active token detail information.

## Release Dates {#release-dates}

* **MTF** - ~~20 December 2021~~ 04 January 2022
* **Production** - Two week deployment window from 20 January 2022 through 4 February 2022

Note: Currently, this enhancement is not available in the Sandbox environment for testing. We aim to make it available by January 2022.

## Summary of Changes {#summary-of-changes}

* The token will be in an active state following a successful tokenize response.
* Transact API can be called after receiving the tokenize response to fetch the cryptogram needed for a transaction.
* MDES will continue to support the existing customer implementations by sending the Notify Token Updated (NTU) - (Active) API request following the tokenize API response to indicate that the token is active.
* Three new fields will be added to the tokenize response in `tokenDetailData` object under `encryptedData.tokenDetail`:
  * tokenNumber
  * expiryMonth
  * expiryYear
  * dataValidUntilTimestamp

## New Parameters Being Added {#new-parameters-being-added}

`tokenDetailData` object under `encryptedData.tokenDetail` will now contain the following parameters:

|                                                                                                                                                                                                                                                       Field and Description                                                                                                                                                                                                                                                       |    Data Type     | Min Length | Max Length |                                                   Required                                                    |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------|------------|------------|---------------------------------------------------------------------------------------------------------------|
| **tokenNumber** The Token Primary Account Number of the card.                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | String (Numeric) | 9          | 19         | Conditional -- required if tokenType = STATIC or in Tokenize when Storage Technology is specified as "SERVER" |
| **expiryMonth** The month of the token expiration date.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | String (Numeric) | 2          | 2          | Conditional -- required if tokenType = STATIC or in Tokenize when Storage Technology is specified as "SERVER" |
| **expiryYear** The year of the token expiration date.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | String (Numeric) | 2          | 2          | Conditional -- required if tokenType = STATIC or in Tokenize when Storage Technology is specified as "SERVER" |
| **dataValidUntilTimestamp** The date/time after which this encrypted object is considered invalid. If present, all systems must reject this encrypted object after this time and treat it as invalid data. Must be expressed in ISO 8601 extended format as one of the following: - YYYY-MM-DDThh:mm:ss\[.sss\]Z - YYYY-MM-DDThh:mm:ss\[.sss\]±hh:mm Where \[.sss\] is optional and can be 1 to 3 digits. Must be a value no more than 30 days in the future. Mastercard recommends using a value of (Current Time + 30 minutes). | String           | 20         | 29         | No                                                                                                            |

### Mandate for Implementation {#mandate-for-implementation}

To ensure forward-compatibility, client implementations must be resilient to new elements being added to the API responses.
