# Archived Content
source: https://developer.mastercard.com/mastercard-checkout-solutions/documentation/archive/index.md

### From e2e-encryption-config.md {#from-e2e-encryption-configmd}

* The following encryption certificate (sandbox): [mastercard_public.crt](https://static.developer.mastercard.com/content/mastercard-checkout-solutions/uploads/mastercard_public.crt) (1KB)

### From e2e-encryption-intro.md {#from-e2e-encryption-intromd}

In addition to that, Secure Card on File uses Field Level Encryption to provide end-to-end payload encryption to secure sensitive data like Personally Identifying Information (PII).
You can manage your encryption keys from your [Developer Dashboard](https://developer.mastercard.com/dashboard).
Tip: Do you want to learn more about the authentication and encryption schemes Mastercard uses? For that, read our [Using OAuth 1.0a to Access Mastercard APIs](https://developer.mastercard.com/platform/documentation/security-and-authentication/using-oauth-1a-to-access-mastercard-apis/) and [Securing Sensitive Data Using Payload Encryption](https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/) guides.

## From Codes {#from-codes}

### From Checkout-codes.md {#from-checkout-codesmd}

Expand the section for the HTTP Status code:
[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) Response contains a JWS. Refer to
[checkout1.0.yaml](https://static.developer.mastercard.com/content/mastercard-checkout-solutions/swagger/checkout1.0.yaml) (59KB) for details.

```json
{
  "checkoutResponseJWS": {
    "jose_header": {
      "alg": "string",
      "iat": "string",
      "iss": "string",
      "jti": "string",
      "kid": "string"
    },
    "jws_payload": {
      "assuranceData": {
        "cardAssuranceData": "string",
        "cardholderAssuranceData": "string",
        "cardholderAuthenticationEntity": "string",
        "cardholderAuthenticationMethod": "string",
        "cardholderAuthenticationResults": "string",
        "cardholderAuthenticationTimestamp": "string",
        "cardVerificationEntity": "string",
        "cardVerificationMethod": "string",
        "cardVerificationResults": "string",
        "cardVerificationTimestamp": "string",
        "consumerAssuranceData": "string",
        "consumerVerificationEntity": "string",
        "consumerVerificationMethod": "string",
        "consumerVerificationResults": "string",
        "consumerVerificationTimestamp": "string",
        "deviceAssuranceData": "string",
        "deviceVerificationEntity": "string",
        "deviceVerificationMethod": "string",
        "deviceVerificationResults": "string",
        "deviceVerificationTimestamp": "string",
        "relationshipAssuranceData": "string",
        "relationshipVerificationEntity": "string",
        "relationshipVerificationMethod": "string",
        "relationshipVerificationResults": "string",
        "relationshipVerificationTimestamp": "string",
        "verificationData": [
          {
            "additionalData": "string",
            "verificationEntity": 1,
            "verificationEvents": [
              "01",
              "02"
            ],
            "verificationMethod": 1,
            "verificationResults": 1,
            "verificationTimestamp": "string",
            "verificationType": "CARDHOLDER"
          }
        ]
      },
      "customOutputData": {
        "remoteCommerceAcceptorIdentifier": "bWFzdGVyY2FyZCBpbmM="
      },
      "eci": "06",
      "encryptedPayload": {
        "billingAddress": {
          "addressId": "96636f7f-a5f5-4fed-ad43-5baf12511e2a",
          "city": "NYC",
          "countryCode": "US",
          "createTime": "2021-10-07T13:44:45.385Z",
          "lastUsedTime": "2021-10-07T13:44:45.385Z",
          "line1": "114 5th ave",
          "line2": "Lake Street",
          "line3": "string",
          "name": "John Doe",
          "state": "NY",
          "zip": 10011
        },
        "card": {
          "billingAddress": {
            "addressId": "96636f7f-a5f5-4fed-ad43-5baf12511e2a",
            "city": "NYC",
            "countryCode": "US",
            "createTime": "2021-10-07T13:44:45.385Z",
            "lastUsedTime": "2021-10-07T13:44:45.385Z",
            "line1": "114 5th ave",
            "line2": "Lake Street",
            "line3": "string",
            "name": "John Doe",
            "state": "NY",
            "zip": 10011
          },
          "cardholderFirstName": "string",
          "cardholderFullName": "string",
          "cardholderLastName": "string",
          "cardSecurityCode": 123,
          "panExpirationMonth": 10,
          "panExpirationYear": 2022,
          "paymentAccountReference": "string",
          "primaryAccountNumber": 5204731600014784
        },
        "consumerEmailAddress": "string",
        "consumerFirstName": "string",
        "consumerFullName": "string",
        "consumerLastName": "string",
        "consumerMobileNumber": {
          "countryCode": "string",
          "phoneNumber": "string"
        },
        "consumerNationalIdentifier": "string",
        "dynamicData": {
          "dynamicDataType": "CARD_APPLICATION_CRYPTOGRAM_LONG_FORM",
          "dynamicDataValue": "string"
        },
        "shippingAddress": {
          "addressId": "96636f7f-a5f5-4fed-ad43-5baf12511e2a",
          "city": "NYC",
          "countryCode": "US",
          "createTime": "2021-10-07T13:44:45.385Z",
          "lastUsedTime": "2021-10-07T13:44:45.385Z",
          "line1": "114 5th ave",
          "line2": "Lake Street",
          "line3": "string",
          "name": "John Doe",
          "state": "NY",
          "zip": 10011
        },
        "srcTokenResultsData": {
          "unpredictableNumber": "fa9e0426"
        },
        "token": {
          "paymentAccountReference": "string",
          "paymentToken": "string",
          "tokenExpirationMonth": "st",
          "tokenExpirationYear": "stri"
        }
      },
      "maskedCard": {
        "dateOfCardCreated": "2021-11-25T14:51:03.811Z",
        "dateOfCardLastUsed": "2021-11-25T14:51:03.811Z",
        "delegatedAuthenticationModels": [
          {
            "isSupported": true,
            "modelType": "AE_TYPE_3"
          }
        ],
        "digitalCardData": {
          "artUri": "https://stage.assets.mastercard.com/card-art/combined-image-asset/MyBank-mastercard.png",
          "coBrandedName": "string",
          "descriptorName": "mastercard",
          "isCoBranded": true,
          "presentationName": "Citi Bank",
          "status": "ACTIVE"
        },
        "maskedBillingAddress": {
          "addressId": "0e01ac3a-d5ba-41ea-a5fd-2b75d585734b",
          "city": "New York",
          "countryCode": "US",
          "createTime": "2021-10-07T13:44:45.385Z",
          "lastUsedTime": "2021-10-07T13:44:45.385Z",
          "line1": "1** F**** A*****",
          "line2": "M********",
          "line3": "",
          "name": "M*** Sc****t",
          "state": "NY",
          "zip": "10003"
        },
        "panBin": 555256,
        "panExpirationMonth": 12,
        "panExpirationYear": 2024,
        "panLastFour": 9223,
        "paymentAccountReference": "5001EUMYTT3AESCZGUEC77KPCLETI",
        "paymentCardDescriptor": "string",
        "paymentCardType": "string",
        "srcDigitalCardId": "68bf50ec-0e8b-414f-8cfc-63e9c3fb9d48",
        "tokenBinRange": "string",
        "tokenLastFour": "string",
        "tokenUniqueReference": "string"
      },
      "maskedConsumer": {
        "countryCode": "US",
        "dateConsumerAdded": "2021-11-25T14:51:03.811Z",
        "dateConsumerLastUsed": "2021-11-25T14:51:03.811Z",
        "languageCode": "en",
        "maskedEmailAddress": "string",
        "maskedFirstName": "string",
        "maskedFullName": "string",
        "maskedLastName": "string",
        "maskedMobileNumber": {
          "countryCode": "string",
          "phoneNumber": "string"
        },
        "maskedNationalIdentifier": "string",
        "srcConsumerId": "cec77d02-4e1a-4625-b869-415f6a8b33f7",
        "status": "ACTIVE"
      },
      "shippingAddressZip": 10011,
      "shippingCountryCode": "US",
      "srcCorrelationId": "5759a64f-df84-4f0b-b105-67d5a8349bba",
      "srciTransactionId": "a5899431-5364-4682-be3d-aba123465a1b",
      "keyFingerprintId": "nwzNuN9upxolVsr6q0I/phcnfA/ZlaJ2gmAJiogMCwM"
    },
    "jws_signature": "string"
  }
}
```

[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1).

Reason code of `INVALID_ARGUMENT` Identifies a malformed or invalid request. Use cases:

Bad Request. Reason code of `INVALID_ARGUMENT` Identifies a malformed or invalid request. Use cases:

    * Mandatory parameters in request are missing. Example, `srcClientId` or `srcDigitalCardId` values are not provided.
    * Request parameters value has invalid format. Example, `srcClientId`, `srcDigitalCardId`,`srcCorrelationId`, `recipientIdCheckout`,  `shippingAddressId` is not in UUID format.
    * Request have `transactionAmount` object present but its property `transactionAmount` or `transactionCurrencyCode` is not present.
    * `srcDigitalCardId` associated card is in a `LOCKED` or `PENDING_VERIFICATION` state, or the card itself is not present in the system.
    * System was not able to find the consumer associated with a card or the address associated with the addressid provided in request.
    * Length of a property exceeds the maximum allowed length. Example, `srciTransactionId` parameter length is too long.

    Reason code of `BAD_REQUEST` identifies a validation failed on request. Use cases:
     * Request fields have correctly formatted values but they do not match expected data in SRC system. Example the `dpaAcceptedBillingCountries` provided by the client and `country` in the SRC system do not match.

> 'This error is related to `dpaAcceptedBillingCountries` and user's address is not having supported country'

```json
{
  "errordetail": [
    {
      "message": "DPA does not support billing to the address provided",
      "reason": "INVALID_VALUE",
      "source": "dpaTransactionOptions.dpaAcceptedBillingCountries",
      "sourceType": "BODY"
    }
  ],
  "message": "One or more fields in the request are either missing or does not have correct value.",
  "reason": "BAD_REQUEST",
  "status": 400
}
```

> 'This error is related to `dpaAcceptedShippingCountries` and user's address is not having supported country'

```json
{
  "errordetail": [
    {
      "message": "DPA does not support shipping to the address provided",
      "reason": "INVALID_VALUE",
      "source": "dpaTransactionOptions.dpaAcceptedShippingCountries",
      "sourceType": "BODY"
    }
  ],
  "message": "One or more fields in the request are either missing or does not have correct value.",
  "reason": "BAD_REQUEST",
  "status": 400
}
```

> * It can be possible if card verification is pending and client is doing checkout with that card \* Invalid consumer id associated with card and consumer not found in system. \* Address not found in the system associated with the shipping address id provided in request.

```json
{
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to mandatory fields are not present for `recipientIdCheckout`.'

```json
{
  "errordetail": [
    {
      "message": "The supplied value cannot be null",
      "reason": "CANNOT_BE_NULL",
      "source": "recipientIdCheckout",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to mandatory fields are not present for `srcClientId`.'

```json
{
  "errordetail": [
    {
      "message": "The supplied value cannot be null",
      "reason": "CANNOT_BE_NULL",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to mandatory fields are not present for `srcDigitalCardId`.'

```json
{
  "errordetail": [
    {
      "message": "The supplied value cannot be null",
      "reason": "CANNOT_BE_NULL",
      "source": "srcDigitalCardId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to mandatory fields are not present for `transactionAmount`.'

```json
{
  "errordetail": [
    {
      "message": "The supplied value cannot be null",
      "reason": "CANNOT_BE_NULL",
      "source": "confirmationData.transactionAmount.transactionAmount",
      "sourceType": "BODY"
    },
    {
      "message": "The supplied value cannot be null",
      "reason": "CANNOT_BE_NULL",
      "source": "confirmationData.transactionAmount.transactionCurrencyCode",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `srcCorrelationId` format'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "srcCorrelationId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `recipientIdCheckout` format'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "recipientIdCheckout",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `shippingAddressId` format'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "shippingAddressId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `srcClientId` format'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `srcDigitalCardId` format'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "srcDigitalCardId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> * `srciTransactionId` length is exceeded max length check.

```json
{
  "errordetail": [
    {
      "message": "The size of supplied value is incorrect",
      "reason": "INVALID_VALUE",
      "source": "srciTransactionId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to `srcDigitalCardId` is LOCKED.'

```json
{
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3).

Either:

* DPA ID is not present or invalid DPA id value.
* Invalid client id is used.
* ClientID and Service ID combination not associated with each other.
* Wrong Service ID
* Client onboarding is not properly done with mastercard gateway.
* Value of recipientIdCheckout is not onboarded and used by client.
* Consumer's status is not active.

```json
{
  "message": "Client does not have sufficient permission. This can happen because the client doesn't have permission, or the API has not been enabled for the client project.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

> * Client's registered encryption key expired.

```json
{
  "message": "Payload Encryption Key has expired.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1). Typically the server not able to serve the request temporarily.

```json
{
  "message": "Internal server error. Typically a server bug. The client should report this error to the server team.",
  "reason": "INTERNAL",
  "status": 500
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4). Typically the server not able to serve the request temporarily.

```json
{
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after sometime.",
  "reason": "UNAVAILABLE",
  "status": 503
}
```

### From confirmation-codes.md {#from-confirmation-codesmd}

Expand the section for the HTTP Status code:
[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)

In case no technical errors arise, the service will return an HTTP 204 status
code, with no response body.
[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1).

Reason code of `INVALID_ARGUMENT` Identifies a malformed or invalid request. Use cases:

* Mandatory parameters in request are missing example `srcCorrelationId` or `srcClientId` values are not provided.
* Request parameter's format check (UUID format or Custom regular expression) fails. This can be possible for `srcCorrelationId`, `srcClientId`, `srciTransactionId`, `confirmationReason`, `confirmationTimestamp`, `networkAuthorizationCode`, `networkTransactionIdentifier`, `paymentNetworkReference`, `transactionCurrencyCode`.
* Request have `transactionAmount` object present but its property `transactionAmount` and/or `transactionCurrencyCode` are not present.
* Property value's length is invalid for `transactionAmount`, `paymentNetworkReference`, `networkTransactionIdentifier`, `networkAuthorizationCode`, `confirmationReason`.

> 'This error is related to mandatory fields are not present for `transactionAmount`.'

```json
{
  "errordetail": [
    {
      "message": "The supplied value cannot be null",
      "reason": "CANNOT_BE_NULL",
      "source": "confirmationData.transactionAmount.transactionAmount",
      "sourceType": "BODY"
    },
    {
      "message": "The supplied value cannot be null",
      "reason": "CANNOT_BE_NULL",
      "source": "confirmationData.transactionAmount.transactionCurrencyCode",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `srcClientId` format'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `confirmationReason` value.'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "confirmationData.confirmationReason",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `confirmationTimestamp` value.'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "confirmationData.confirmationTimestamp",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `srcCorrelationId` format'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "srcCorrelationId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `networkAuthorizationCode` value.'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "confirmationData.networkAuthorizationCode",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `networkTransactionIdentifier` value.'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "confirmationData.networkTransactionIdentifier",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `paymentNetworkReference` value.'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "confirmationData.paymentNetworkReference",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `srciTransactionId` value.'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "srciTransactionId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `transactionCurrencyCode` value.'

```json
{
  "errordetail": [
    {
      "message": "The format is not correct",
      "reason": "INVALID_FORMAT",
      "source": "confirmationData.transactionAmount.transactionCurrencyCode",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect size of `confirmationReason` value.'

```json
{
  "errordetail": [
    {
      "message": "The size of supplied value is incorrect",
      "reason": "INVALID_VALUE",
      "source": "confirmationData.confirmationReason",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `confirmationStatus` value.

```json
{
  "errordetail": [
    {
      "message": "The type is correct but the supplied value is not supported",
      "reason": "INVALID_VALUE",
      "source": "CONFIRMATION_STATUS",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `srcCorrelationId` value or value is not provided in request.'

```json
{
  "errordetail": [
    {
      "message": "The type is correct but the supplied value is not supported",
      "reason": "INVALID_VALUE",
      "source": "srcCorrelationId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect size of `networkAuthorizationCode` value.'

```json
{
  "errordetail": [
    {
      "message": "The size of supplied value is incorrect",
      "reason": "INVALID_VALUE",
      "source": "confirmationData.networkAuthorizationCode",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect size of `networkTransactionIdentifier` value.'

```json
{
  "errordetail": [
    {
      "message": "The size of supplied value is incorrect",
      "reason": "INVALID_VALUE",
      "source": "confirmationData.networkTransactionIdentifier",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect `networkTransactionIdentifier` value.'

```json
{
  "errordetail": [
    {
      "message": "The type is correct but the supplied value is not supported",
      "reason": "INVALID_VALUE",
      "source": "NETWORK_IDENTIFIER",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect size of `paymentNetworkReference` value.'

```json
{
  "errordetail": [
    {
      "message": "The size of supplied value is incorrect",
      "reason": "INVALID_VALUE",
      "source": "confirmationData.paymentNetworkReference",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'This error is related to incorrect format of `transactionAmount` value.'

```json
{
  "errordetail": [
    {
      "message": "The value is exceeded the max limit",
      "reason": "INVALID_VALUE",
      "source": "confirmationData.transactionAmount.transactionAmount",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3).
> * Normally this can happen when onboarding was not done properly with the mastercard system.

```json
{
  "message": "Client does not have sufficient permission. This can happen because the client doesn't have permission, or the API has not been enabled for the client project.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

> * Normally wrong clientId which is not registered with the system.
> * Or combination of service id and client id is not correct.

```json
{
  "errordetail": [
    {
      "message": "The type is correct but the supplied value is not supported.",
      "reason": "INVALID_VALUE",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Client does not have sufficient permission. This can happen because the client doesn't have permission, or the API has not been enabled for the client project.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1). Typically the server not able to serve the request temporarily.

```json
{
  "message": "Internal server error. Something went wrong while processing the request",
  "reason": "INTERNAL",
  "status": 500
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4). Typically the server not able to serve the request temporarily.

```json
{
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after sometime.",
  "reason": "UNAVAILABLE",
  "status": 503
}
```

### From del-profile-codes.md {#from-del-profile-codesmd}

Expand the section for the HTTP Status code:
[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)

```json
{
  "srcCorrelationId": "string"
}
```

[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1).
> 'requestIdentityType and searchIdentityType mismatch.'

```json
{
  "errordetail": null,
  "message": "Identity Type invalid",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 'srcClientId not present.'

```json
{
  "errordetail": [
    {
      "message": "Required request parameter 'srcClientId' for method parameter type String is not present",
      "reason": "CANNOT_BE_NULL",
      "source": "srcClientId",
      "sourceType": "QUERY"
    }
  ],
  "message": "Http request query parameter is missing",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> 401 Response

```json
{
  "value": {
    "errordetail": null,
    "message": "UnAuthenticated on validation failure",
    "reason": "UNAUTHENTICATED",
    "status": 401
  }
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3).
> SRCI not onboarded or invalid ServiceId.

```json
{
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

> DPA not onboarded and DPA verification true.

```json
{
  "errordetail": [
    {
      "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
      "reason": "INVALID_VALUE",
      "source": "serviceId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

[Not found](https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4). Profile not found.

```json
{
  "errordetail": [
    {
      "message": null,
      "reason": null,
      "source": "consumer",
      "sourceType": "BODY"
    }
  ],
  "message": "Unknown Error",
  "reason": "NOT_FOUND",
  "status": 404
}
```

[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1). Typically the server not able to serve the request temporarily.

```json
{
  "errordetail": null,
  "message": "Internal server error. Something went wrong while processing the request",
  "reason": "INTERNAL",
  "status": 500
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4). Typically the server not able to serve the request temporarily.

```json
{
  "errordetail": null,
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after some time",
  "reason": "UNAVAILABLE",
  "status": 503
}
```

### From delete-card-codes.md {#from-delete-card-codesmd}

Expand the section for the HTTP Status code:
[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) Returned when the card and its dependencies has been successfully deleted. The response body will contain an `srcCorrelationId`.

```json
{
  "srcCorrelationId": "779165e0-1905-4edd-89fa-be46497b5044"
}
```

[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1).

#### INVALID_ARGUMENT {#invalid_argument}

Reason code of **INVALID_ARGUMENT** Identifies a malformed or invalid request. Use cases:

* Mandatory Query parameters are missing example `srcClientId` is not provided.
* Query parameters provided value has invalid format example, `srcCorrelationId` is not in UUID format.

The following examples are ordered by the `errordetail` `reason` code:

##### INVALID_ARGUMENT INVALID_VALUE {#invalid_argument-invalid_value}

> 'See the message content for extra information. Possible reasons are:
>
> * invalid correlationId format
> * invalid digitalAccountReferenceType
> * invalid clientId'

```json
{
  "status": 400,
  "reason": "INVALID_ARGUMENT",
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "errordetail": [
    {
      "reason": "INVALID_VALUE",
      "message": "must match \"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\"",
      "sourceType": "QUERY",
      "source": "srcClientId"
    }
  ]
}
```

##### INVALID_ARGUMENT CANNOT_BE_NULL {#invalid_argument-cannot_be_null}

> See the message content for extra information. Possible reasons are:
>
> * digitalAccountReferenceValue as null
> * null clientId'

```json
{
  "status": 400,
  "reason": "INVALID_ARGUMENT",
  "message": "Http request query parameter is missing",
  "errordetail": [
    {
      "reason": "CANNOT_BE_NULL",
      "message": "Required request parameter 'srcClientId' for method parameter type String is not present",
      "sourceType": "QUERY",
      "source": "srcClientId"
    }
  ]
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3). API will return this response if identifier validation fails.

#### PERMISSION_DENIED {#permission_denied}

> 'See the message content for extra information. Possible reasons are invalid dpaId / invalid srci / invalid service id.'

```json
{
  "status": 403,
  "reason": "PERMISSION_DENIED",
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "errordetail": null
}
```

#### PERMISSION_DENIED INVALID_VALUE {#permission_denied-invalid_value}

> See the message content for extra information. Possible reasons are:
>
> * Access is denied to the requested resource. Client does not have sufficient permission or has been locked.
> * invalid X_OPEN_API_CLIENT_ID'

```json
{
  "status": 403,
  "reason": "PERMISSION_DENIED",
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "errordetail": [
    {
      "reason": "INVALID_VALUE",
      "message": "Invalid X_OPEN_API_CLIENT_ID",
      "sourceType": "HEADER",
      "source": "X_OPEN_API_CLIENT_ID"
    }
  ]
}
```

[Not Found](https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4). Identifies a missing Path Parameter. Possible reasons:

* `cardId` is not provided.
* `cardId` does not exist in the system.

```json
{
  "status": 404,
  "reason": "NOT_FOUND",
  "message": "Card not found",
  "errordetail": null
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4)

```json
{
  "status": 503,
  "reason": "UNAVAILABLE",
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after some time",
  "errordetail": null
}
```

### From enroll-card-codes.md {#from-enroll-card-codesmd}

Expand the section for the HTTP Status code:
[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) enrolled card details included in the response body. Refer to
[card_v1.yaml](https://static.developer.mastercard.com/content/mastercard-checkout-solutions/swagger/card_v1.yaml) (118KB) for details.

```json
{
  "authenticationMethods": [
    {
      "authenticationCredential": "12X-XXX-XX32",
      "authenticationMethodType": "SMS_OTP"
    }
  ],
  "encryptedAccountData": "string",
  "keyFingerprintId": "string",
  "maskedCard": {
    "countryCode": "US",
    "dateOfCardCreated": "2021-11-25T14:51:03.811Z",
    "dateOfCardLastUsed": "2021-11-25T14:51:03.811Z",
    "delegatedAuthenticationModels": [
      {
        "isSupported": true,
        "modelType": "AE_TYPE_3"
      }
    ],
    "digitalCardData": {
      "artUri": "https://stage.assets.mastercard.com/card-art/combined-image-asset/MyBank-mastercard.png",
      "coBrandedName": "string",
      "descriptorName": "mastercard",
      "isCoBranded": "string",
      "pendingEvents": [
        "PENDING_SCA"
      ],
      "status": "ACTIVE"
    },
    "maskedBillingAddress": {
      "addressId": "0e01ac3a-d5ba-41ea-a5fd-2b75d585734b",
      "city": "New York",
      "countryCode": "US",
      "createTime": "2021-10-07T13:44:45.385Z",
      "lastUsedTime": null,
      "line1": "1** S*** A*****",
      "line2": "T** C*****",
      "line3": null,
      "name": "M*** Sc****t",
      "state": "NY",
      "zip": "10003"
    },
    "panBin": "string",
    "panExpirationMonth": "st",
    "panExpirationYear": "stri",
    "panLastFour": "string",
    "paymentAccountReference": "5001EUMYTT3AESCZGUEC77KPCLETI",
    "paymentCardDescriptor": "string",
    "paymentCardType": "string",
    "serviceId": "string",
    "srcDigitalCardId": "68bf50ec-0e8b-414f-8cfc-63e9c3fb9d48",
    "srcPaymentCardId": "string",
    "tokenLastFour": "string",
    "tokenUniqueReference": "DM4MMC0000000001cd2826c715b7475bb089b7622366ebe4"
  },
  "maskedConsumer": {
    "complianceSettings": {
      "communications": {
        "affiliateCommunicationsOptIn": true,
        "allowCall": true,
        "allowEmail": true,
        "allowPush": true,
        "allowText": true,
        "communicationsOptIn": true
      },
      "cookie": {
        "acceptedVersion": "LATEST",
        "latestVersion": "LATEST",
        "latestVersionUri": null
      },
      "geoLocation": {
        "acceptedVersion": "LATEST",
        "latestVersion": "LATEST",
        "latestVersionUri": null
      },
      "privacy": {
        "acceptedVersion": "LATEST",
        "latestVersion": "LATEST",
        "latestVersionUri": null
      },
      "tnc": {
        "acceptedVersion": "LATEST",
        "latestVersion": "LATEST",
        "latestVersionUri": null
      }
    },
    "countryCode": "US",
    "dateConsumerAdded": "2021-11-25T14:51:03.811Z",
    "dateConsumerLastUsed": "2021-11-25T14:51:03.811Z",
    "languageCode": "string",
    "maskedConsumerIdentity": {
      "identityType": "EXTERNAL_ACCOUNT_ID",
      "maskedIdentityValue": "string"
    },
    "maskedEmailAddress": "string",
    "maskedFirstName": "string",
    "maskedFullName": "string",
    "maskedLastName": "string",
    "maskedMobileNumber": {
      "countryCode": 1,
      "phoneNumber": 5555555555
    },
    "maskedNationalIdentifier": "string",
    "srcConsumerId": "string",
    "status": "ACTIVE"
  },
  "srcCorrelationId": "779165e0-1905-4edd-89fa-be46497b5044",
  "keyFingerprintId": "nwzNuN9upxolVsr6q0I/phcnfA/ZlaJ2gmAJiogMCwM"
}
```

[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1).

#### INVALID_ARGUMENT {#invalid_argument}

Reason code of **INVALID_ARGUMENT** Identifies a malformed or invalid request. Use cases:

* Request Body JSON does not confirm to the schema of EnrollCardRequest
* Mandatory parameters in request are missing example `srcClientId` or `card.primaryAccountNumber` values are not provided.
* Request parameters value has invalid format example, `srcClientId`, `srcDpaId`,`srcCorrelationId`,`srciTransactionId` is not in UUID format.

The following examples are ordered by the `errordetail` `reason` code:

##### INVALID_ARGUMENT {#invalid_argument-1}

> See the message content for extra information. Either:
>
> * Invalid Field Length
> * Invalid/corrupt encrypted card

```json
{
  "errordetail": [
    {
      "message": "Invalid Field Length",
      "reason": null,
      "source": "card.cardholderFullName",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/ missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

##### INVALID_ARGUMENT CANNOT_BE_NULL {#invalid_argument-cannot_be_null}

> See the message content for extra information. Either:
>
> * Wrong Srci ID
> * Identity Value is not present
> * null ServiceId

```json
{
  "details": [
    {
      "message": "correlation-id is required",
      "reason": "CANNOT_BE_NULL",
      "source": "correlation-id",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

##### INVALID_ARGUMENT INVALID_VALUE {#invalid_argument-invalid_value}

> See the message content for extra information. Either:
>
> * Invalid Identity Type passed
> * Invalid enrollmentReferenceType
> * ClientId Wrong format(not UUID)
> * Expired year of a given card
> * Card Expiry Month Invalid
> * InValid TUR/PUR
> * Invalid format srcCorrelationId

```json
{
  "errordetail": [
    {
      "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
      "reason": "INVALID_VALUE",
      "source": "Request body",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

#### INVALID_STATE {#invalid_state}

Reason code of `INVALID_STATE` identifies a validation failed on request. Use cases:

* `srcClientId` or `srcDpaId` or `serviceId` is invalid and does not resolve to an entity in SRC system. Example `srcClientId` is not recognised.
* Request Body JSON schema validation failure.
* Data Type validation failure.

##### INVALID_STATE INVALID_DATA_FOR_VER_TYPE-21 {#invalid_state-invalid_data_for_ver_type-21}

> See the message content for extra information. Normally Recent IDV Not Found Exception.

```json
  {
    "errordetail": [
      {
        "message": "Recent IDV not found.",
        "reason": "INVALID_DATA_FOR_VER_TYPE-21",
        "source": "assuranceData.verificationData.additionalData",
        "sourceType": "BODY"
      }
    ],
    "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
    "reason": "INVALID_STATE",
    "status": 400
  }
```

##### INVALID_STATE INVALID_DATA_FOR_VER_TYPE-22 {#invalid_state-invalid_data_for_ver_type-22}

> See the message content for extra information. Normally Invalid Cryptogram Exception.

```json
{
  "errordetail": [
    {
      "message": "Invalid DSRP Cryptogram provided in the request.",
      "reason": "INVALID_DATA_FOR_VER_TYPE-22",
      "source": "assuranceData.verificationData.additionalData",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_STATE",
  "status": 400
}
```

##### INVALID_STATE INVALID_PAN {#invalid_state-invalid_pan}

> See the message content for extra information. Normally, invalid PAN.

```json
{
  "errordetail": [
    {
      "message": "Invalid PAN",
      "reason": "INVALID_PAN",
      "source": "Card",
      "sourceType": "BODY"
    }
  ],
  "message": "Request cannot be executed due to the incorrect field value",
  "reason": "INVALID_STATE",
  "status": 400
}
```

##### INVALID_STATE INVALID_VALUE {#invalid_state-invalid_value}

> Identity Type passed as null

```json
{
  "details": [
    {
      "message": "srcClientId is not valid",
      "reason": "INVALID_VALUE",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Request cannot be executed due to the incorrect field value.",
  "reason": "INVALID_STATE",
  "status": 400
}
```

##### INVALID_STATE ISSUER_DECLINED {#invalid_state-issuer_declined}

> See the message content for extra information. Normally Issuer Declined.

```json
{
  "errordetail": [
    {
      "message": "Invalid PAN",
      "reason": "ISSUER_DECLINED",
      "source": "Card",
      "sourceType": "BODY"
    }
  ],
  "message": "Request cannot be executed due to the incorrect field value",
  "reason": "INVALID_STATE",
  "status": 400
}
```

##### INVALID_STATE PAN_INELIGIBLE {#invalid_state-pan_ineligible}

> See the message content for extra information. Either:
>
> * Non-US Card
> * Ineligible FPAN

```json
  {
    "errordetail": [
      {
        "message": "PAN Ineligible",
        "reason": "PAN_INELIGIBLE",
        "source": "Card",
        "sourceType": "BODY"
      }
    ],
    "message": "Request cannot be executed due to the incorrect field value",
    "reason": "INVALID_STATE",
    "status": 400
  }
```

##### INVALID_STATE TOKENIZATION_INELIGIBLE {#invalid_state-tokenization_ineligible}

> Non Tokenized Card

```json
{
  "errordetail": [
    {
      "message": "Tokenization Ineligible",
      "reason": "TOKENIZATION_INELIGIBLE",
      "source": "Card",
      "sourceType": "BODY"
    }
  ],
  "message": "Request cannot be executed due to the incorrect field value",
  "reason": "INVALID_STATE",
  "status": 400
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3).

#### PERMISSION_DENIED {#permission_denied}

> Normally wrong clientId (or not correct UUID format).

```json
{
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

#### PERMISSION_DENIED INVALID_VALUE {#permission_denied-invalid_value}

> Either:
>
> * DPA ID is not present
> * Same ClientID and External Account ID value but different Service ID
> * Valid enrollmentReferenceType. Program rules not allowed reference type for a program.
> * Wrong Service ID
> * communicationChannel is (OAUTH or null) and invalid X_OPEN_API_CLIENT_ID
> * communicationChannel is MTLS and invalid X-SRC-INTERNAL-SECUREACCESS-CLIENTID

```json
{
  "errordetail": [
    {
      "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
      "reason": "INVALID_VALUE",
      "source": "srcDpaId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

#### PERMISSION_DENIED MULTIPLE_FOUND {#permission_denied-multiple_found}

> Normally more than one encryption key marked as active (IN_USE).

```json
{
  "details": [
    {
      "message": "Multiple active keys found for this Client.",
      "reason": "MULTIPLE_FOUND",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

#### PERMISSION_DENIED NOT_FOUND {#permission_denied-not_found}

> Normally no encryption key marked as active (IN_USE).

```json
{
  "details": [
    {
      "message": "No active key found for this Client.",
      "reason": "NOT_FOUND",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1)

```json
{
  "message": "Internal server error. Something went wrong while processing the request",
  "reason": "INTERNAL",
  "status": 500
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4)

```json
{
  "errordetail": [
    {
      "message": "Issuer did not respond in time. Retry the request.",
      "reason": "NO_RESPONSE_FROM_ISSUER"
    }
  ],
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after some time",
  "reason": "UNAVAILABLE",
  "status": 503
}
```

### From get-card-codes.md {#from-get-card-codesmd}

Expand the section for the HTTP Status code:
[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) enrolled card details included in the response body. Refer to
[card_v1.yaml](https://static.developer.mastercard.com/content/mastercard-checkout-solutions/swagger/card_v1.yaml) (118KB) for details.

```json
{
    "encryptedPaymentData": {
        "paymentToken": {
            "paymentAccountReference": "5001EUMYTT3AESCZGUEC77KPCLETI",
            "paymentToken": "string",
            "tokenExpirationMonth": "st",
            "tokenExpirationYear": "stri"
        }
    },
    "maskedCard": {
        "countryCode": "US",
        "dateOfCardCreated": "2021-11-25T14:51:03.811Z",
        "dateOfCardLastUsed": "2021-11-25T14:51:03.811Z",
        "delegatedAuthenticationModels": [
            {
                "isSupported": true,
                "modelType": "AE_TYPE_3"
            }
        ],
        "digitalCardData": {
            "artUri": "https://stage.assets.mastercard.com/card-art/combined-image-asset/MyBank-mastercard.png",
            "coBrandedName": "string",
            "descriptorName": "mastercard",
            "isCoBranded": "string",
            "pendingEvents": [
                "PENDING_SCA"
            ],
            "status": "ACTIVE"
        },
        "maskedBillingAddress": {
            "addressId": "0e01ac3a-d5ba-41ea-a5fd-2b75d585734b",
            "city": "New York",
            "countryCode": "US",
            "createTime": "2021-10-07T13:44:45.385Z",
            "lastUsedTime": null,
            "line1": "1** S*** A*****",
            "line2": "T** C*****",
            "line3": null,
            "name": "M*** Sc****t",
            "state": "NY",
            "zip": "10003"
        },
        "panBin": "string",
        "panExpirationMonth": "st",
        "panExpirationYear": "stri",
        "panLastFour": "string",
        "paymentAccountReference": "5001EUMYTT3AESCZGUEC77KPCLETI",
        "paymentCardDescriptor": "string",
        "paymentCardType": "string",
        "serviceId": "string",
        "srcDigitalCardId": "68bf50ec-0e8b-414f-8cfc-63e9c3fb9d48",
        "srcPaymentCardId": "string",
        "tokenLastFour": "string",
        "tokenUniqueReference": "DM4MMC0000000001cd2826c715b7475bb089b7622366ebe4"
    },
    "srcCorrelationId": "779165e0-1905-4edd-89fa-be46497b5044",
    "keyFingerprintId": "nwzNuN9upxolVsr6q0I/phcnfA/ZlaJ2gmAJiogMCwM"
}
```

[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1). Possibly invalid tokenRequested field

```json
{
  "status": 400,
  "reason": "INVALID_ARGUMENT",
  "message": "Http request argument type is mismatched at this service",
  "errordetail": [
    {
      "reason": "INVALID_VALUE",
      "message": "Failed to convert value of type 'java.lang.String' to required type 'java.lang.Boolean'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value [false/true]",
      "sourceType": "QUERY",
      "source": "tokenRequested"
    }
  ]
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3).

#### PERMISSION_DENIED {#permission_denied}

> Srci not on-boarded/ServiceId is invalid/DpaId is not onboarded/ Requested dpaId is not associated with Srci

```json
{
  "errordetail": null,
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

#### PERMISSION_DENIED EXPIRED {#permission_denied-expired}

> See the message content for extra information. Srci returned expired encryption certificate.

```json
{
  "errordetail": [
    {
      "message": "The Public Encryption Key for this Client has expired. Please contact Mastercard administrator.",
      "reason": "EXPIRED",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

#### PERMISSION_DENIED INVALID_VALUE {#permission_denied-invalid_value}

> See the message content for extra information. For example, requested program does not have authorization to access token data.

```json
{
  "errordetail": [
    {
      "message": "Program represented by Service-id is not enabled for serving Token Data. Please contact Mastercard administrator to enable this feature.",
      "reason": "INVALID_VALUE",
      "source": "serviceId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

#### PERMISSION_DENIED NOT_FOUND {#permission_denied-not_found}

> Normally no encryption key marked as active (IN_USE).

```json
{
  "errordetail": [
    {
      "message": "No active key found for this Client.",
      "reason": "NOT_FOUND",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

[Not found](https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4). Card not found by cards service.

```json
{
  "errordetail": [
    {
      "message": null,
      "reason": null,
      "source": "Card",
      "sourceType": "BODY"
    }
  ],
  "message": "Unknown Error",
  "reason": "NOT_FOUND",
  "status": 404
}
```

[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1). Typically the server not able to serve the request temporarily.

```json
{
  "errordetail": null,
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after some time",
  "reason": "INTERNAL",
  "status": 500
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4). Typically the server not able to serve the request temporarily.

```json
  {
    "errordetail": null,
    "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after some time",
    "reason": "UNAVAILABLE",
    "status": 503
  }
```

### From get-profile-codes.md {#from-get-profile-codesmd}

Expand the section for the HTTP Status code:

```json
{
  "profiles": [
    {
      "maskedCards": [
        {
          "countryCode": "US",
          "dateOfCardCreated": "2021-11-25T14:51:03.811Z",
          "dateOfCardLastUsed": "2021-11-25T14:51:03.811Z",
          "delegatedAuthenticationModels": [
            {
              "isSupported": true,
              "modelType": "AE_TYPE_3"
            }
          ],
          "digitalCardData": {
            "artUri": "https://stage.assets.mastercard.com/card-art/combined-image-asset/MyBank-mastercard.png",
            "coBrandedName": "string",
            "descriptorName": "mastercard",
            "isCoBranded": "string",
            "pendingEvents": [
              "PENDING_SCA"
            ],
            "status": "ACTIVE"
          },
          "maskedBillingAddress": {
            "addressId": "0e01ac3a-d5ba-41ea-a5fd-2b75d585734b",
            "city": "New York",
            "countryCode": "US",
            "createTime": "2021-10-07T13:44:45.385Z",
            "lastUsedTime": null,
            "line1": "1** S*** A*****",
            "line2": "T** C*****",
            "line3": null,
            "name": "M*** Sc****t",
            "state": "NY",
            "zip": "10003"
          },
          "panBin": "string",
          "panExpirationMonth": "st",
          "panExpirationYear": "stri",
          "panLastFour": "string",
          "paymentAccountReference": "5001EUMYTT3AESCZGUEC77KPCLETI",
          "paymentCardDescriptor": "string",
          "paymentCardType": "string",
          "serviceId": "string",
          "srcDigitalCardId": "68bf50ec-0e8b-414f-8cfc-63e9c3fb9d48",
          "srcPaymentCardId": "string",
          "tokenLastFour": "string",
          "tokenUniqueReference": "DM4MMC0000000001cd2826c715b7475bb089b7622366ebe4"
        }
      ],
      "maskedConsumer": {
        "complianceSettings": {
          "communications": {
            "affiliateCommunicationsOptIn": true,
            "allowCall": true,
            "allowEmail": true,
            "allowPush": true,
            "allowText": true,
            "communicationsOptIn": true
          },
          "cookie": {
            "acceptedVersion": "LATEST",
            "latestVersion": "LATEST",
            "latestVersionUri": null
          },
          "geoLocation": {
            "acceptedVersion": "LATEST",
            "latestVersion": "LATEST",
            "latestVersionUri": null
          },
          "privacy": {
            "acceptedVersion": "LATEST",
            "latestVersion": "LATEST",
            "latestVersionUri": null
          },
          "tnc": {
            "acceptedVersion": "LATEST",
            "latestVersion": "LATEST",
            "latestVersionUri": null
          }
        },
        "countryCode": "US",
        "dateConsumerAdded": "2021-11-25T14:51:03.811Z",
        "dateConsumerLastUsed": "2021-11-25T14:51:03.811Z",
        "languageCode": "string",
        "maskedConsumerIdentity": {
          "identityType": "EXTERNAL_ACCOUNT_ID",
          "maskedIdentityValue": "string"
        },
        "maskedEmailAddress": "string",
        "maskedFirstName": "string",
        "maskedFullName": "string",
        "maskedLastName": "string",
        "maskedMobileNumber": {
          "countryCode": 1,
          "phoneNumber": 5555555555
        },
        "maskedNationalIdentifier": "string",
        "srcConsumerId": "string",
        "status": "ACTIVE"
      },
      "maskedShippingAddresses": [
        {
          "addressId": "0e01ac3a-d5ba-41ea-a5fd-2b75d585734b",
          "city": "New York",
          "countryCode": "US",
          "createTime": "2021-10-07T13:44:45.385Z",
          "lastUsedTime": null,
          "line1": "1** S*** A*****",
          "line2": "T** C*****",
          "line3": null,
          "name": "M*** Sc****t",
          "state": "NY",
          "zip": "10003"
        }
      ]
    }
  ],
  "srcCorrelationId": "779165e0-1905-4edd-89fa-be46497b5044",
  "srcDpaId": "string"
}
```

[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1).

#### INVALID_ARGUMENT-CANNOT_BE_NULL {#invalid_argument-cannot_be_null}

> srcClientId not present.

```json
{
  "errordetail": [
    {
      "message": "must not be null",
      "reason": "CANNOT_BE_NULL",
      "source": "srcClientId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> Invalid srcCorrelationId format, or invalid srcClientId format.

```json
{
  "errordetail": [
    {
      "message": "must match \"^([0-9a-f]{8}.)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\"",
      "reason": "INVALID_VALUE",
      "source": "srcCorrelationId",
      "sourceType": "BODY"
    }
  ],
  "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
  "reason": "INVALID_ARGUMENT",
  "status": 400
}
```

> Consumer not active.

```json
{
  "errordetail": [
    {
      "message": "consumer status is not active",
      "reason": "INVALID_VALUE",
      "source": "consumer.status",
      "sourceType": "BODY"
    }
  ],
  "message": "Request cannot be executed due to the incorrect field value",
  "reason": "INVALID_STATE",
  "status": 400
}
```

> 401 Response

```json
{
  "value": {
    "errordetail": null,
    "message": "UnAuthenticated on validation failure",
    "reason": "UNAUTHENTICATED",
    "status": 401
  }
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3).
> SRCI not onboarded or invalid ServiceId.

```json
{
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

> DPA not onboarded and DPA verification true.

```json
{
  "errordetail": [
    {
      "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
      "reason": "INVALID_VALUE",
      "source": "serviceId",
      "sourceType": "BODY"
    }
  ],
  "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
  "reason": "PERMISSION_DENIED",
  "status": 403
}
```

[Not found](https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4). Profile not found.

```json
{
  "errordetail": [
    {
      "message": null,
      "reason": null,
      "source": "consumer",
      "sourceType": "BODY"
    }
  ],
  "message": "Unknown Error",
  "reason": "NOT_FOUND",
  "status": 404
}
```

[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1). Typically the server not able to serve the request temporarily.

```json
{
  "errordetail": null,
  "message": "Internal server error. Something went wrong while processing the request",
  "reason": "INTERNAL",
  "status": 500
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4). Typically the server not able to serve the request temporarily.

```json
{
  "errordetail": null,
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after some time",
  "reason": "UNAVAILABLE",
  "status": 503
}
```

### get-transaction-codes.md {#get-transaction-codesmd}

Expand the section for the HTTP Status code:
[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) an array of transactions is included in the response body. Refer to
[card_v1.yaml](https://static.developer.mastercard.com/content/mastercard-checkout-solutions/swagger/card_v1.yaml) (118KB) for details.

```json
{
  "transactions": [
    {
      "amount": 0,
      "authorizationStatus": "string",
      "comboCardAccountType": "string",
      "currencyCode": "string",
      "installments": 0,
      "issuerResponseInformation": "string",
      "merchantName": "string",
      "merchantPostalCode": "string",
      "merchantType": "stri",
      "recordId": "string",
      "serviceId": "string",
      "srcConsumerId": "string",
      "srcDigitalCardId": "68bf50ec-0e8b-414f-8cfc-63e9c3fb9d48",
      "tokenUniqueReference": "DM4MMC0000000001cd2826c715b7475bb089b7622366ebe4",
      "transactionCountryCode": "str",
      "transactionIdentifier": "string",
      "transactionTimestamp": "string",
      "transactionType": "ATM_DEPOSIT"
    }
  ]
}
```

[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1). Could be invalid clientId format or when a transactionTimestamp is after the current date.

```json
{
  "value": {
    "errordetail": [
      {
        "message": "must match \"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\"",
        "reason": "INVALID_VALUE",
        "source": "srcClientId",
        "sourceType": "QUERY"
      }
    ],
    "message": "Cannot process the request because it is malformed or has incorrect/missing fields or values.",
    "reason": "INVALID_ARGUMENT",
    "status": 400
  }
}
```

[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3). Forbidden. Could be due to ineligible issuer / issuer not found / tcs unavailable / tcs returns bad request; or invalid x_open_api_client_id.

```json
{
  "value": {
    "errordetail": [
      {
        "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
        "reason": "INVALID_VALUE",
        "source": "TDS",
        "sourceType": "BODY"
      }
    ],
    "message": "Access is denied to the requested resource. Client does not have sufficient permission or has been locked.",
    "reason": "PERMISSION_DENIED",
    "status": 403
  }
}
```

[Not found](https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4). Card not found by cards service.

```json
{
  "errordetail": [
    {
      "message": null,
      "reason": null,
      "source": "Card",
      "sourceType": "BODY"
    }
  ],
  "message": "Unknown Error",
  "reason": "NOT_FOUND",
  "status": 404
}
```

[Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4). Typically the server not able to serve the request temporarily.

```json
{
  "errordetail": null,
  "message": "Service unavailable. Typically the server not able to serve the request temporarily. Retry after some time",
  "reason": "UNAVAILABLE",
  "status": 503
}
```

