# Generate user data token
source: https://developer.mastercard.com/mastercard-insurance-programs/documentation/tutorials-and-guides/step5/index.md

Use the POST `/user-data-tokens` API to tokenize cardholder's personal information
before redirecting to claims processor's website. This data token is used to pre-fill
the information provided in a pre-selected claim form. To view benefits,
only the card number or PAN is used during tokenization---any personal information provided will be ignored.

```java

  // populate CardholderAccessData with all the user demographic and PAN information
  CardholderAccessData cardholderAccessData = new CardholderAccessData();
  cardholderAccessData.setFirstName("fname");
  cardholderAccessData.setLastName("lname");
  cardholderAccessData.setPan("0000000000000000");
  cardholderAccessData.setAddressLine1("addr line 1");
  cardholderAccessData.setAddressLine2("addr line 2");
  cardholderAccessData.setCity("city");
  cardholderAccessData.setState("state");
  cardholderAccessData.setPostalCode("postalCode");
  cardholderAccessData.setCountry("country");
  cardholderAccessData.setEmail("email");
  cardholderAccessData.setPhone("phone");

  InsuranceClaimsApi insuranceClaimsApi = new InsuranceClaimsApi(encryptedPayloadClient);
  CardholderAccessData cardholderAccessData = insuranceClaimsApi.userDataTokensPost(cardholderAccessData);
```

`insuranceClaimsApi.userDataTokensPost(cardholderAccessData);` call will invoke Mastercard API with the request signed
and the payload encrypted. The interceptors handle the signing and encrypting.

[See sequence of API calls to tokenize card holder data](https://developer.mastercard.com/mastercard-insurance-programs/documentation/use-cases/index.md).
