> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/d1-v1-api/ja/d1-v1-apirifarensu/kdo/autobaundo/outbound-card-api.md).

# Outbound Card API

## Get Card Credentials

> API used by D1 to call the CMS for retrieving the card credentials (PAN, expiry date, cardholder name and CVV) using a card identifier.\<br/>It can be used, for example, for displaying the card details to an end user who wants to perform an e-commerce transaction or for registering a 'legacy card' in the D1 system.

```json
{"openapi":"3.0.0","info":{"title":"Outbound Card API","version":"1.0"},"servers":[{"url":"https://YOUR_DOMAIN_NAME"}],"security":[{"oauth":[]}],"components":{"securitySchemes":{"oauth":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"${tokenPath}","scopes":{}}},"description":"OAUTH activation for outbound endpoints is optional part of D1 Tenant configuration (Refresh URL, Token URL, Credentials, Scope)\nA CMS entity wishing to opt for OAUTH scheme needs to support an endpoint (Token URL) from which the access token can be retrieved. This endpoint shall support HTTP POST Client Credentials grant requests in <b>x-www-form-urlencoded</b> content type as specified here: https://datatracker.ietf.org/doc/html/rfc6749#section-4.4.2"}},"schemas":{"encryptedDataForGetCardCredentials":{"type":"string","title":"encryptedData (for Get Card Credentials)","maxLength":8192,"description":"The encryptedData is the encrypted json (cf http://www.json.org/ ) representation of the card credentials.<br/>This value is encrypted using the JWE encryption (please refer to the **[Sensitive Information Encryption](https://thales-dis-dbp.stoplight.io/docs/d1-developer-portal/24df87894894d-data-encryption)** for more details)<br/><br/><b>Content</b><br/><br/>Once deciphered, the plaintext contains:\n\t\n|JSON field parameter name|description|MOC|Format|\n|-------|-------|-------|-------|\n|pan|The funding pan value.|M|string - from 10 to 19 digits|\n|exp|The expiry date of the card.|M|string - 4 digits, following the format MMYY|\n|name|The card holder name.|O|string - up to  128 characters|\n|cvv|The CVV2 value of the funding card|M|string - 3 or 4 digits|\n|auxiliaryPan|The auxiliary funding pan value.It shall be provided when cobadge is supported and if the card has an auxiliary pan.|C|string - up to 19 digits|\n|auxiliaryExp|The auxiliary expiry date of the card.It shall be provided when cobadge is supported and if the card has an auxiliary pan.|C|string - 4 digits, following the format MMYY|\n|customSuffix|last 4 digits of the display pan which is different than the actual funding pan|O|string - 4 digits|"},"error":{"title":"error","type":"object","description":"An error occurred","properties":{"error":{"type":"string","description":"Detailed description of the error that occurred.\n"}}}}},"paths":{"/cms/api/v1/issuers/{issuerId}/cards/{cardId}/credentials":{"get":{"summary":"Get Card Credentials","operationId":"getCardCredentials","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"encryptedData":{"$ref":"#/components/schemas/encryptedDataForGetCardCredentials"}},"required":["encryptedData"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Authorization missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Action forbidden (if card is not active, for example)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Resource not found (issuerId, cardId)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"description":"API used by D1 to call the CMS for retrieving the card credentials (PAN, expiry date, cardholder name and CVV) using a card identifier.<br/>It can be used, for example, for displaying the card details to an end user who wants to perform an e-commerce transaction or for registering a 'legacy card' in the D1 system.","parameters":[{"schema":{"type":"string"},"in":"header","name":"Authorization","description":"Oauth Access Token (optional)"}]}}}}
```

## Verify Card

> When a tokenization request reaches D1, D1 calls the CMS (Card Management System) with this method to verify the status of card for which the tokenization has been requested.\
> \
> It is expected that the CMS verifies the consistency between the card information provided versus the card information known by the CMS itself. As a minimum, the CMS should check the following:\
> \- that the PAN number is valid\
> \- if no expiration date is provided, that the card has not expired\
> \- if a CVV is provided, that it is valid\
> \
> It is important that the CMS provides a proper result response because D1 uses this result when making a decision regarding the tokenization request of the card.\
> \
> Along with the card details, D1 provides a unique card reference, cardId. The CMS can, OPTIONALLY, override this value by providing its own card ID in the response. In this case, however, CMS must guarantee the uniqueness of the ID. \
> \
> It is required to provide a reference of the cardholder information (consumerId). This reference will be used by the D1 to request the cardholder contacts details to the Core Banking system.<br>

```json
{"openapi":"3.0.0","info":{"title":"Outbound Card API","version":"1.0"},"servers":[{"url":"https://YOUR_DOMAIN_NAME"}],"security":[{"oauth":[]}],"components":{"securitySchemes":{"oauth":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"${tokenPath}","scopes":{}}},"description":"OAUTH activation for outbound endpoints is optional part of D1 Tenant configuration (Refresh URL, Token URL, Credentials, Scope)\nA CMS entity wishing to opt for OAUTH scheme needs to support an endpoint (Token URL) from which the access token can be retrieved. This endpoint shall support HTTP POST Client Credentials grant requests in <b>x-www-form-urlencoded</b> content type as specified here: https://datatracker.ietf.org/doc/html/rfc6749#section-4.4.2"}},"schemas":{"issuerCardId":{"type":"string","description":"Unique identifier of the card.\n\nOPTIONAL. In case CMS has already its own card identifier and prefers to use it in place of the one provided.\n","minLength":1,"maxLength":48,"pattern":"[A-Za-z0-9_-]{1,48}","title":"issuerCardId"},"verificationResults":{"title":"verificationResults","type":"object","description":"Rules verified by the issuer ","properties":{"securityCode":{"type":"object","properties":{"valid":{"type":"boolean"},"verificationAttemptsExceeded":{"type":"boolean"}}},"card":{"type":"object","properties":{"lostOrStolen":{"type":"boolean"},"expired":{"type":"boolean"},"invalid":{"type":"boolean"},"fraudSuspect":{"type":"boolean"}}}},"required":["card"]},"error":{"title":"error","type":"object","description":"An error occurred","properties":{"error":{"type":"string","description":"Detailed description of the error that occurred.\n"}}},"encryptedDataForVerifyCard":{"type":"string","title":"encryptedData (for Verify Card)","maxLength":8192,"description":"The encryptedData is the encrypted json (cf http://www.json.org/ ) representation of the card credentials.<br/>This value is encrypted using the JWE encryption (please refer to the **[Sensitive Information Encryption](https://thales-dis-dbp.stoplight.io/docs/d1-developer-portal/24df87894894d-data-encryption)** for more details)<br/><br/><b>Content</b><br/><br/>Once deciphered, the plaintext contains:\n\t\n|JSON field parameter name|description|MOC|Format|\n|-------|-------|-------|-------|\n|pan|The funding pan value.|M|string - from 10 to 19 digits|\n|exp|The expiry date of the card.|M|string - 4 digits, following the format MMYY|\n|name|The card holder name.|O|string - up to  128 characters|\n|cvv|The CVV2 value of the funding card|O|string - 3 or 4 digits|"},"cardId":{"type":"string","description":"Unique identifier of the card.","minLength":1,"maxLength":48,"pattern":"[A-Za-z0-9_-]{1,48}"}}},"paths":{"/cms/api/v1/issuers/{issuerId}/cards/credentials":{"post":{"summary":"Verify Card","operationId":"verifyCard","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["verificationResults"],"properties":{"cardId":{"$ref":"#/components/schemas/issuerCardId"},"consumerId":{"type":"string","description":"Unique identifier of the end user.\r\n\r\nMust be provided only when the card verification is successful: **verificationResults.card.invalid** flag is false.","pattern":"[A-Za-z0-9_-]{1,64}","minLength":1,"maxLength":64},"accountId":{"type":"string","description":"Unique identifier of the account. \r\n\r\nIf not provided, the value from **consumerId** will be applied.","pattern":"[A-Za-z0-9_-]{1,64}","minLength":1,"maxLength":64},"verificationResults":{"$ref":"#/components/schemas/verificationResults"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Authorization missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Action forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"description":"When a tokenization request reaches D1, D1 calls the CMS (Card Management System) with this method to verify the status of card for which the tokenization has been requested.\n\nIt is expected that the CMS verifies the consistency between the card information provided versus the card information known by the CMS itself. As a minimum, the CMS should check the following:\n- that the PAN number is valid\n- if no expiration date is provided, that the card has not expired\n- if a CVV is provided, that it is valid\n\nIt is important that the CMS provides a proper result response because D1 uses this result when making a decision regarding the tokenization request of the card.\n\nAlong with the card details, D1 provides a unique card reference, cardId. The CMS can, OPTIONALLY, override this value by providing its own card ID in the response. In this case, however, CMS must guarantee the uniqueness of the ID. \n\nIt is required to provide a reference of the cardholder information (consumerId). This reference will be used by the D1 to request the cardholder contacts details to the Core Banking system.\n","parameters":[{"schema":{"type":"string"},"in":"header","name":"Authorization","description":"Oauth Access Token (optional)"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"encryptedData":{"$ref":"#/components/schemas/encryptedDataForVerifyCard"},"cardId":{"$ref":"#/components/schemas/cardId"},"cardBin":{"type":"string","minLength":6,"maxLength":6,"description":"The first 6 digits of the PAN"}},"required":["encryptedData","cardId","cardBin"]}}},"description":""}}}}}
```

## Notify Card Operation (v1)

> This request is used by D1 to notify the issuer backend about all operations done on a card.

```json
{"openapi":"3.0.0","info":{"title":"Outbound Card API","version":"1.0"},"servers":[{"url":"https://YOUR_DOMAIN_NAME"}],"security":[{"oauth":[]}],"components":{"securitySchemes":{"oauth":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"${tokenPath}","scopes":{}}},"description":"OAUTH activation for outbound endpoints is optional part of D1 Tenant configuration (Refresh URL, Token URL, Credentials, Scope)\nA CMS entity wishing to opt for OAUTH scheme needs to support an endpoint (Token URL) from which the access token can be retrieved. This endpoint shall support HTTP POST Client Credentials grant requests in <b>x-www-form-urlencoded</b> content type as specified here: https://datatracker.ietf.org/doc/html/rfc6749#section-4.4.2"}},"schemas":{"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"[A-Za-z0-9_-]{1,64}"},"error":{"title":"error","type":"object","description":"An error occurred","properties":{"error":{"type":"string","description":"Detailed description of the error that occurred.\n"}}}}},"paths":{"/notifications/d1/v1/issuers/{issuerId}/cards/{cardId}/notifications":{"post":{"description":"This request is used by D1 to notify the issuer backend about all operations done on a card.","requestBody":{"content":{"application/json":{"schema":{"description":"The following object represent the account","type":"object","properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"operation":{"type":"string","description":"The name of the operation done or ongoing on the card.<br/>A DIGITIZE (meaning tokenize) operation can occur only on a virtual card or physical card, and means the card has been digitized (tokenized) (or it is in the process of being so)","enum":["DIGITIZE"]},"digitalCardIds":{"type":"array","description":"Unique identifier of the digital cards concerned by the operation.","items":{"type":"string"}},"status":{"type":"string","description":"Status of the operation","enum":["PENDING","SUCCESSFUL","FAILED"]}},"required":["operationId","operation","status"]}}}},"responses":{"204":{"description":"Successful"},"400":{"description":"Bad Request, Invalid request URI or header, or unsupported nonstandard parameter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"The provided Authorization header is missing or invalid"},"404":{"description":"Resource not found. Unknown issuerId or consumerId or accountId or cardId","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"summary":"Notify Card Operation (v1)","operationId":"notify-card-operation","parameters":[{"schema":{"type":"string"},"in":"header","name":"Authorization","description":"Oauth Access token (optional)"}]}}}}
```

## Notify 3-D Secure Card Operation

> This request is used by D1 to notify the issuer backend about all 3-D Secure operations done on a card.

```json
{"openapi":"3.0.0","info":{"title":"Outbound Card API","version":"1.0"},"servers":[{"url":"https://YOUR_DOMAIN_NAME"}],"paths":{"/notifications/d1/v1/issuers/{issuerId}/cards/{cardId}/3ds/notifications":{"post":{"description":"This request is used by D1 to notify the issuer backend about all 3-D Secure operations done on a card.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/3dsCardOperation"}}}},"responses":{"204":{"description":"Successful"},"400":{"description":"Bad Request, Invalid request URI or header, or unsupported nonstandard parameter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"The provided Authorization header is missing or invalid"},"404":{"description":"Resource not found. Unknown issuerId or consumerId or accountId or cardId","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"summary":"Notify 3-D Secure Card Operation","operationId":"notify-card-3ds-operation"}}},"components":{"schemas":{"3dsCardOperation":{"title":"3-D Secure Operation","type":"object","description":"Details about a 3-D Secure operation.","required":["operationId","operation","status","startTime"],"properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"operation":{"type":"string","description":"The operation type.","enum":["3DS_FRICTIONLESS","3DS_CHALLENGE_OOB","3DS_CHALLENGE_OOB_ISSUER","3DS_CHALLENGE_OTP_SMS"]},"status":{"$ref":"#/components/schemas/operationStatusSuccessfulFailed"},"startTime":{"$ref":"#/components/schemas/operationStartTime"},"consumerId":{"$ref":"#/components/schemas/consumerId"},"details":{"oneOf":[{"title":"3DS_FRICTIONLESS, 3DS_CHALLENGE_OOB, 3DS_CHALLENGE_OTP_SMS operations","properties":{"acsTransactionId":{"description":"The ACS transaction identifier.","type":"string"},"threeDSServerTransId":{"description":"The authentication session identifier from the 3DS server.","type":"string"},"dsTransId":{"description":"The authentication session identifier from the directory server.","type":"string"},"purchase":{"type":"object","properties":{"merchantName":{"description":"The merchant name.","type":"string"},"merchantType":{"description":"The merchant category code.","type":"string","minLength":4,"maxLength":4},"amount":{"description":"The nominal transaction amount value. Value without the decimal operator. Use the currency exponent to display amount with decimal. For example, an display amount of 789.99€ Euro is sent as 78999.","type":"string"},"currencyCode":{"description":"The transaction currency code. Currency code in ISO 4217 alpha code format.","type":"string","minLength":3,"maxLength":3},"merchantId":{"description":"The acquirer merchantId.","type":"string"},"countryCode":{"description":"The merchant country code.","type":"string","minLength":2,"maxLength":2},"merchantUrl":{"description":"The merchant URL.","type":"string","format":"uri"}}},"acquirer":{"type":"object","properties":{"bin":{"type":"string","maxLength":16},"countryCode":{"description":"The merchant country code.","type":"string","minLength":2,"maxLength":2}}},"device":{"type":"object","properties":{"deviceChannel":{"description":"The device channel. '01' is App-based, '02' is Browser, '03' is 3DS Requestor Initiated.","enum":["01","02","03"],"type":"string"},"appInstanceId":{"$ref":"#/components/schemas/appInstanceId"},"authnType":{"$ref":"#/components/schemas/authnType"}}},"eci":{"description":"The Electronic Commerce Indicator.","type":"string"},"authenticationMethod":{"description":"The Authentication method used in case of challenge flow. '02' is SMS OTP, '07' is OOB Biometrics, '09' is OOB Other.'","type":"string","enum":["02","07","09"]},"transStatus":{"description":"Indicates whether a transaction qualifies as an authenticated transaction or account verification.\r\n\r\n|Operation Status|TransStatus Possible Values|TransStatus Description|\r\n|----|----|----|\r\n|SUCCESSFUL|Y|Authentication/account verification is successful|\r\n|FAILED|N|Not authenticated/account not verified; transaction denied|\r\n|FAILED|U|Authentication/account verification could not be performed; technical or other problem|\r\n|FAILED|R|Authentication/account verification rejected|\r\n","type":"string","enum":["Y","N","U","R"]},"transStatusReason":{"description":"Provides information on why the Transaction Status field has the specified value.","type":"string","minLength":2,"maxLength":2},"rba":{"type":"object","properties":{"evaluatedRule":{"type":"array","items":{}},"selectedRule":{"type":"array","items":{}},"appliedExemption":{"type":"array","items":{}}}},"protocolVersion":{"type":"string","description":"Version of the 3DS protocol used for the transaction."}}}],"type":"object"},"error":{"$ref":"#/components/schemas/operationError"}}},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"[A-Za-z0-9_-]{1,64}"},"operationStatusSuccessfulFailed":{"type":"string","description":"Status of the operation","enum":["SUCCESSFUL","FAILED"]},"operationStartTime":{"type":"string","title":"Operation Start Time","description":"The time the request has been processed.\nFormat ISO 8601 YYYY-MM-DDThh:mm:ssTZD","minLength":1,"maxLength":64},"consumerId":{"type":"string","description":"Unique identifier of the end user. ","minLength":1,"maxLength":64,"pattern":"[A-Za-z0-9_-]{1,64}"},"appInstanceId":{"description":"Unique identifier of the issuer application instance.","type":"string"},"authnType":{"type":"string","enum":["BIOMETRIC","PLATFORM"]},"operationError":{"type":"string","description":"Human readable string representing the error, only present in case of operation failure"},"error":{"title":"error","type":"object","description":"An error occurred","properties":{"error":{"type":"string","description":"Detailed description of the error that occurred.\n"}}}}}}
```

## Notify Card Operations (v2)

> This request is used by D1 to notify the system of the bank about any card operation update.\<br>\
> There is a retry mechanism in case the notification has not been sent.\
> Thus the bank system can use this notification to synchronize card operation status with their card repository.\<br>\
> The number max of card operation in the notification is defined at onboarding time according to bank's system capability.\<br>\
> Each operation is linked to a given cardId, and can contain a message decidicated for the final end-user.

````json
{"openapi":"3.0.0","info":{"title":"Outbound Card API","version":"1.0"},"servers":[{"url":"https://YOUR_DOMAIN_NAME"}],"security":[{"oauth":[]}],"components":{"securitySchemes":{"oauth":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"${tokenPath}","scopes":{}}},"description":"OAUTH activation for outbound endpoints is optional part of D1 Tenant configuration (Refresh URL, Token URL, Credentials, Scope)\nA CMS entity wishing to opt for OAUTH scheme needs to support an endpoint (Token URL) from which the access token can be retrieved. This endpoint shall support HTTP POST Client Credentials grant requests in <b>x-www-form-urlencoded</b> content type as specified here: https://datatracker.ietf.org/doc/html/rfc6749#section-4.4.2"}},"requestBodies":{"NotifyCardOperationsRequestBody":{"content":{"application/json":{"schema":{"properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/cardOperationCommonDetails"}}}}}}}},"schemas":{"cardOperationCommonDetails":{"title":"Operation","type":"object","required":["operationId","operation","status","startTime","cardId"],"properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"operation":{"type":"string","enum":["PRODUCE","CLICK_TO_PAY_ENROLMENT","CLICK_TO_PAY_UPDATE","CLICK_TO_PAY_OPTOUT","UPDATE_ORDER","DIGITIZE"],"description":"card status operation"},"status":{"type":"string","enum":["PENDING","SUCCESSFUL","FAILED"],"description":"The operation status"},"startTime":{"type":"string","description":"Time of the operation","minLength":1,"maxLength":64},"endTime":{"type":"string","description":"End time of the operation","minLength":1,"maxLength":64},"cardId":{"$ref":"#/components/schemas/cardId"},"details":{"description":"Optional object to get more details on the operation it self. The object definition will depend on the type of operation.","oneOf":[{"$ref":"#/components/schemas/produceOperation"},{"$ref":"#/components/schemas/EmptyDetails"},{"$ref":"#/components/schemas/pullOperation"},{"$ref":"#/components/schemas/digitizeOperation"}]},"errorCode":{"type":"string","description":"The type of the error"},"error":{"type":"string","description":"Provide more error details if possible.<br/>For example name of the field with invalid format."}}},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"[A-Za-z0-9_-]{1,64}"},"cardId":{"type":"string","description":"Unique identifier of the card.","minLength":1,"maxLength":48,"pattern":"[A-Za-z0-9_-]{1,48}"},"produceOperation":{"title":"PRODUCE","type":"object","description":"The card production status notifcation details","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/productionStatusInNotification"},"reason":{"type":"string","description":"Additional details in case of exception during data processing or card production"},"consumerId":{"type":"string","description":"The id of the end user."},"issuerRequestId":{"type":"string","description":"The unique identifier provided by issuer to identify the card production request","minLength":1,"maxLength":64},"dueDate":{"type":"string","format":"date","description":"The estimated card production date. It is in the format ```YYYY-MM-DD```."},"productionSite":{"maxLength":50,"minLength":0,"type":"string","description":"The factory where the card is produced."},"name":{"maxLength":50,"minLength":0,"description":"The card holder name printed on the card.\n","type":"string"},"maskedPan":{"maxLength":19,"minLength":12,"description":"The masked PAN value (Primary Account Number).\n","type":"string","pattern":"^[0-9xX\\*]{12,19}$"},"orderId":{"description":"The unique identifier of order used for card production.\n","type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"packageId":{"description":"The unique identifier of the package used for card production.\n","type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"shipment":{"$ref":"#/components/schemas/shipment"},"services":{"$ref":"#/components/schemas/services"},"inputFileName":{"type":"string","minLength":1,"maxLength":256,"description":"Name of the input file in case of hybrid mode."},"cardPackageDetails":{"$ref":"#/components/schemas/cardPackageDetails"},"deliveryAddress":{"description":"The recipient's address.\n","$ref":"#/components/schemas/addressInProduceNotification"}}},"productionStatusInNotification":{"type":"string","enum":["CARD_PROD_REQUESTED","CARD_PROD_READY","CARD_PROD_ONGOING","CARD_SHIPPED","CARD_PROD_CANCELED","CARD_PROD_EXCEPTION","CARD_PROD_ONHOLD","CARD_PROD_DONE","DATA_EXCEPTION","DATA_PREPARED"],"description":"The current status of card production.\n\n|status code                | description                                                                                                       |\n|---------------------------|-------------------------------------------------------------------------------------------------------------------|\n|CARD_PROD_REQUESTED        | The card production has been requested via the D1 APIs.                                                           |\n|CARD_PROD_READY            | The data has been processed and the card is ready to be produced.                                                 |\n|CARD_PROD_ONGOING          | The card production has started.                                                                                  |\n|CARD_SHIPPED               | The card has been picked up by the carrier.                                                                       |\n|CARD_PROD_CANCELED         | The production has been canceled by the issuer for some reason.                                                   |\n|CARD_PROD_EXCEPTION        | The production failed for some reason.                                                                            |\n|CARD_PROD_ONHOLD           | The production has been put on hold for some reason.                                                              |\n|CARD_PROD_DONE             | The card has been produced successfully.                                                                          |\n|DATA_EXCEPTION             | The data processing failed.                                                                                       |\n|DATA_PREPARED              | The data has been processed successfully.                                                                          |  \n|\n"},"shipment":{"type":"object","properties":{"pickupDate":{"type":"string","description":"The date and time the shipment was picked up by the carrier. It is in the format ```YYYY-MM-DDThh:mm:ssZ``` for the timezone where the pickup occured.","format":"date-time"},"carrier":{"type":"string","description":"Unique carrier code.\n\n|Carrier Code|Carrier Name|\n|----|----|\n|chronopost-france|Chronopost France|\n|dhl|DHL Express|\n|fedex|FedEx®|\n|la-poste-colissimo|La Poste|AvailableForPickup|\n|spain-correos-es|Correos de España|\n|ups|UPS|\n|usps|USPS| |\n"},"trackingNumber":{"type":"string","pattern":"^[A-Za-z0-9 _\\-\\.\\/]{1,64}$","description":"The tracking number."},"status":{"maxLength":50,"minLength":0,"type":"string","enum":["INFO_RECEIVED","IN_TRANSIT","OUT_FOR_DELIVERY","FAILED_ATTEMPT","DELIVERED","AVAILABLE_FOR_PICKUP","EXCEPTION","EXPIRED","PENDING"],"description":"Current status of tracking.\n|status code                | description                                                                                                       |\n|---------------------------|-------------------------------------------------------------------------------------------------------------------|\n|INFO_RECEIVED              | Carrier has received request from shipper and is about to pick up the shipment.                                   |\n|IN_TRANSIT                 | Carrier has accepted or picked up shipment from shipper. The shipment is on the way.                              |\n|OUT_FOR_DELIVERY           | Carrier is about to deliver the shipment, or it is ready to pickup.                                               |\n|FAILED_ATTEMPT             | Carrier attempted to deliver but failed, and usually leaves a notice and will try to deliver again.               |\n|DELIVERED                  | The shipment was delivered successfully.                                                                          |\n|AVAILABLE_FOR_PICKUP       | The package arrived at a pickup point near you and is available for pickup.                                       |\n|EXCEPTION                  | Custom hold, undelivered, returned shipment to sender or any shipping exceptions.                                 |\n|EXPIRED                    | Shipment has no tracking information for 30 days since added.                                                     |\n|PENDING                    | Tracking information not available yet.                                                                           |                                                                    |\n"},"message":{"minLength":1,"type":"string","description":"Normalized tracking message.\n\n|Message|Description|Shipment Status|\n|----|----|----|\n|\tDelivered\t|\tShipment delivered successfully\t|\tDelivered\t|\n|\tPicked up by the customer\t|\tPackage picked up by the customer\t|\tDelivered\t|\n|\tSign by customer\t|\tPackage delivered to and signed by the customer\t|\tDelivered\t|\n|\tDelivered and received cash on delivery\t|\tPackage delivered to the customer and cash collected on delivery\t|\tDelivered\t|\n|\tAvailable for pickup\t|\tThe package arrived at a pickup point near you and is available for pickup\t|\tAvailableForPickup\t|\n|\tException\t|\tDelivery of the package failed due to some shipping exception\t|\tException\t|\n|\tCustomer moved\t|\tDelivery of the package failed as the customer relocated\t|\tException\t|\n|\tCustomer refused delivery\t|\tDelivery of the package failed as the recipient refused to take the package due to some reason\t|\tException\t|\n|\tDelayed (Customs clearance)\t|\tPackage delayed due to some issues during the customs clearance\t|\tException\t|\n|\tDelayed (External factors)\t|\tPackage delayed due to some unforeseen reasons\t|\tException\t|\n|\tHeld for payment\t|\tThe package being held due to pending payment from the customer's end\t|\tException\t|\n|\tIncorrect Address\t|\tPackage not delivered due to incorrect recipient address\t|\tException\t|\n|\tPick up missed\t|\tPackage available for the pickup but not collected by the customer\t|\tException\t|\n|\tRejected by carrier\t|\tPackage rejected by the carrier due to noncompliance with its guidelines\t|\tException\t|\n|\tReturning to sender\t|\tThe package is on its way back to the sender\t|\tException\t|\n|\tReturned to sender\t|\tThe return package has been successfully received by the sender\t|\tException\t|\n|\tShipment damage\t|\tShipment damaged\t|\tException\t|\n|\tShipment lost\t|\tDelivery of the package failed as it got lost\t|\tException\t|\n|\tFailed Attempt\t|\tThe delivery of the package failed due to some reason. Courier usually leaves a notice and will try to deliver again\t|\tAttemptFail\t|\n|\tAddressee not available\t|\tRecipient not available at the given address\t|\tAttemptFail\t|\n|\tBusiness Closed\t|\tBusiness is closed at the time of delivery\t|\tAttemptFail\t|\n|\tIn Transit\t|\tShipment on the way\t|\tInTransit\t|\n|\tAcceptance scan\t|\tShipment accepted by the carrier\t|\tInTransit\t|\n|\tArrival scan\t|\tShipment arrived at a hub or sorting center\t|\tInTransit\t|\n|\tArrived at the destination country/region\t|\tInternational shipment arrived at the destination country/region\t|\tInTransit\t|\n|\tCustoms clearance completed\t|\tCustoms clearance completed\t|\tInTransit\t|\n|\tCustoms clearance started\t|\tPackage handed over to customs for clearance\t|\tInTransit\t|\n|\tDeparture Scan\t|\tPackage departed from the facility\t|\tInTransit\t|\n|\tProblem resolved\t|\tProblem resolved and shipment in transit\t|\tInTransit\t|\n|\tForwarded to a different delivery address\t|\tShipment forwarded to a different delivery address\t|\tInTransit\t|\n|\tInfo Received\t|\tThe carrier received a request from the shipper and is about to pick up the shipment\t|\tInfoReceived\t|\n|\tOut for Delivery\t|\tThe package is out for delivery\t|\tOutForDelivery\t|\n|\tCustomer contacted\t|\tThe customer is contacted before the final delivery\t|\tOutForDelivery\t|\n|\tDelivery appointment scheduled\t|\tA delivery appointment is scheduled\t|\tOutForDelivery\t|\n|\tPending\t|\tNo information available on the carrier website or the tracking number is yet to be tracked\t|\tPending\t|\n|\tCarrier account not connected\t|\tIt represents the shipments are pending due to no connection with carrier accounts\t|\tPending\t|\n|\tLabel created, no updates yet\t|\tThe order has been processed/packaged, but not scanned at a shipping location yet\t|\tPending\t|\n|\tWrong carrier\t|\tThere is no tracking info available because the carrier is wrong\t|\tPending\t|\n|\tNo recent updates\t|\tThere have been no new tracking updates in the last 120 days\t|\tPending\t|\n|\tUnrecognized carrier\t|\tAfterShip can’t track this type of shipment as the carrier is unrecognized.\t|\tPending\t|\n|\tExpired\t|\tNo tracking information of the shipment, from the last 30 days\t|\tPending\t|\n"},"trackingUrl":{"type":"string","description":"Official tracking URL of the carrier (if any)."},"redirectUrl":{"type":"string","description":"Delivery instructions (delivery date or address) can be modified by visiting the link if supported by the carrier."},"estimatedDeliveryDate":{"type":"string","description":"'The estimated delivery date provided by the carrier. It is in the format ```YYYY-MM-DDThh:mm:ssZ``` for the recipent's timezone.'","format":"date-time"},"lastUpdatedAt":{"type":"string","description":"The date and time the shipment was updated. It is in the format ```YYYY-MM-DDThh:mm:ssZ``` for the timezone GMT+0.","format":"date-time"},"deliveryDate":{"type":"string","description":"'The date and time the shipment was delivered. It is in the format ```YYYY-MM-DDThh:mm:ssZ``` for the recipent's timezone.'","format":"date-time"},"signedBy":{"type":"string","description":"Signed by information for delivered shipment."},"failedDeliveryAttempts":{"type":"string","description":"Number of failed attempts courier tried to deliver the card."},"lastCheckpoint":{"$ref":"#/components/schemas/lastCheckpoint"}}},"lastCheckpoint":{"type":"object","description":"The tracking information of the last checkpoint","properties":{"checkpointTime":{"type":"string","description":"The date and time of the checkpoint event, provided by the carrier. It is in the format ```YYYY-MM-DDThh:mm:ssZ``` for the timezone of the checkpoint.","format":"date-time"},"city":{"minLength":1,"type":"string","description":"The city info provided by carrier."},"countryName":{"type":"string","description":"The country/Region name of the checkpoint, may also contain other location information."},"message":{"type":"string","description":"The checkpoint message."}}},"services":{"required":["issuance","delivery"],"properties":{"cardProductId":{"$ref":"#/components/schemas/cardProductId"},"issuance":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-\\s]{1,64}$","description":"The type of issuance.\n<br/>  \n|Attribute|Description|\n|-------|-------|\n|CREATION|Issuance of a brand-new card to a user|\n|RENEWAL|An existing card reaches its expiration date and needs to be replaced with a new one for continued use|\n|REPLACEMENT|An existing card needs to be reissued due to loss, theft, or damage.|\n"},"priority":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-\\s]{1,64}$","description":"The level of priority agreed for the card production (defined during the onboarding of D1).\n"},"delivery":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-\\s]{1,64}$","description":"The shipment method (defined during the onboarding of D1).\n"},"packaging":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-\\s]{1,64}$","default":"NO_PACK","description":"Unique identifier of the packaging (defined during the onboarding of D1).\n"},"cardCarrier":{"type":"string","minLength":1,"maxLength":64,"default":"NO_CARRIER","pattern":"^[a-zA-Z0-9_-\\s]{1,64}$","description":"Unique identifier of the card carrier (defined during the onboarding of D1).\n"}}},"cardProductId":{"type":"string","description":"Unique identifier of the type of card (defined during the onboarding of D1)","minLength":1,"maxLength":48,"pattern":"[A-Za-z0-9_-]{1,48}"},"cardPackageDetails":{"type":"object","properties":{"plastic":{"type":"string","description":"Reference of the plastic used for the card\n","minLength":2,"maxLength":40},"artworkId":{"type":"string","description":"Reference of the artwork printed on the card\n","minLength":2,"maxLength":40},"cardCarrier":{"type":"string","description":"Reference of the card carrier used for the card\n","minLength":2,"maxLength":100},"envelope":{"type":"string","description":"Reference of the envelope used for the card\n","minLength":2,"maxLength":100},"package":{"type":"string","minLength":2,"maxLength":100,"description":"Reference of the package used for the card\n"},"cardActivationLabel":{"type":"string","minLength":2,"maxLength":100,"description":"Reference of the activation label used for the card\n"},"inserts":{"type":"array","minItems":0,"maxItems":10,"items":{"type":"string"},"description":"List of inserts\n"}}},"addressInProduceNotification":{"type":"object","required":["line1","zipCode","city","countryCode"],"properties":{"companyName":{"type":"string","description":"The name of the company.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"line1":{"type":"string","description":"The first line of the address.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"line2":{"type":"string","description":"The second line of the address.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"line3":{"type":"string","description":"The third line of the address.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"city":{"type":"string","description":"The city name.","minLength":1,"maxLength":32,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,32}$"},"state":{"type":"string","description":"The state.","minLength":1,"maxLength":30,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,30}$"},"zipCode":{"type":"string","description":"The zip Code.","minLength":1,"maxLength":10,"pattern":"^[0-9A-Z- ]{1,10}$"},"countryCode":{"type":"string","description":"The country code, based on ISO 639-1 alpha-2 format","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}},"EmptyDetails":{"title":"CLICK_TO_PAY_ENROLMENT, CLICK_TO_PAY_UPDATE, CLICK_TO_PAY_OPTOUT","description":"Empty details for the following operations: CLICK_TO_PAY_ENROLMENT, CLICK_TO_PAY_UPDATE, CLICK_TO_PAY_OPTOUT.","type":"object"},"pullOperation":{"title":"UPDATE_ORDER","type":"object","description":"The pull request status notification details","required":["pullType","status"],"properties":{"pullType":{"type":"string","description":"The type of change to apply on the card order","enum":["ACCELERATE","ACCELERATE_AND_REDIRECT","CANCEL","REDIRECT"]},"status":{"$ref":"#/components/schemas/updateOrderStatus"},"newDeliveryAddress":{"description":"The new delivery address","$ref":"#/components/schemas/addressInPullNotification"}}},"updateOrderStatus":{"type":"string","enum":["PULL_SUCCESSFUL","PULL_FAILED"],"description":"The status of pull request.\n\n|status code                | description                                                                                                       |\n|---------------------------|-------------------------------------------------------------------------------------------------------------------|\n|PULL_SUCCESSFUL        | The pull request was successfully processed.                                                                          |\n|PULL_FAILED            | The pull request processing failed.                                                                                   |\n| \n"},"addressInPullNotification":{"allOf":[{"$ref":"#/components/schemas/addressCommonFields"}]},"addressCommonFields":{"type":"object","required":["lastName","line1","zipCode","city","countryCode"],"properties":{"title":{"type":"string","description":"The title.","minLength":1,"maxLength":40,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,40}$"},"firstName":{"type":"string","description":"The first name.","minLength":1,"maxLength":40,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,40}$"},"lastName":{"type":"string","description":"The last name.","minLength":1,"maxLength":40,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,40}$"},"companyName":{"type":"string","description":"The name of the company.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"line1":{"type":"string","description":"The first line of the address.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"line2":{"type":"string","description":"The second line of the address.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"line3":{"type":"string","description":"The third line of the address.","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$"},"city":{"type":"string","description":"The city name.","minLength":1,"maxLength":32,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,32}$"},"state":{"type":"string","description":"The state.","minLength":1,"maxLength":30,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,30}$"},"zipCode":{"type":"string","description":"The zip Code.","minLength":1,"maxLength":10,"pattern":"^[0-9A-Z- ]{1,10}$"},"countryCode":{"type":"string","description":"The country code, based on ISO 639-1 alpha-2 format","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"},"email":{"type":"string","description":"The email, used for card shipment contact purpose.","minLength":1,"maxLength":255,"pattern":"^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,15}$"}}},"digitizeOperation":{"title":"DIGITIZE","type":"object","description":"The card digitization notification details","properties":{"deviceInformation":{"$ref":"#/components/schemas/deviceInformation"},"digitalCardsDetails":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"object","required":["generalInformation"],"properties":{"generalInformation":{"$ref":"#/components/schemas/digitalCardInformationForDigitize"},"credentials":{"type":"string","description":"The field is the json (cf http://www.json.org/ ) representation of the DIGITAL card.\nJWE encryption is used to secure the field (please refer to the [Sensitive Information Encryption](https://thales-dis-dbp.stoplight.io/docs/d1-api-public/3574c6851e5b6-encryption-format-and-algorithms) for more details)\nDetails:\n\n{\n\n\"pan\":\"...\",\n\n\"exp\":\"...\"\n\n}\n\n\nThe PAN is Mandatory,  up to 19 digits.\n\nThe expiry date in the format MMYY. It is not provided for UPI scheme.","minLength":1,"maxLength":8196},"isPrimary":{"type":"boolean","description":"Boolean Flag indicating whether the token is primary or auxiliary."}}}},"eligibilityInformation":{"$ref":"#/components/schemas/eligibilityInformation"},"digitizationInformation":{"$ref":"#/components/schemas/digitizationInformation"}}},"deviceInformation":{"title":"deviceInformation","type":"object","description":"Provides details about the device that has been used for the card tokenization.\nNote that this data is available only if the check eligbility has passed with success.\nData availability dependes on the requestor.","properties":{"deviceId":{"type":"string","minLength":1,"maxLength":128,"description":"Identifier of the token storage."},"digitalCardStorageType":{"type":"string","maxLength":32,"description":"Type of the token storage location. Following values are possible:\n- HCE\n- SPAY_PHONE\n- SPAY_TABLET\n- SPAY_WATCH\n- SPAY_TV\n- IPHONE\n- IWATCH\n- IPAD\n- MAC_BOOK\n- ANDROID_PHONE\n- ANDROID_TABLET\n- ANDROID_WATCH\n- MOBILE_PHONE\n- TABLET\n- WATCH\n- MOBILE_PHONE_OR_TABLET\n- BRACELET\n- PC\n- HOUSEHOLD\n- WEARABLE\n- AUTOMOBILE\n- UNKNOWN"},"manufacturer":{"type":"string","minLength":1,"maxLength":32,"description":"Device manufacturer name"},"brand":{"type":"string","minLength":1,"maxLength":32,"description":"Device brand"},"model":{"type":"string","minLength":1,"maxLength":32,"description":"Device model"},"osVersion":{"type":"string","minLength":1,"maxLength":16,"description":"Device OS version"},"firmwareVersion":{"type":"string","description":"Device firmware version","minLength":1,"maxLength":32},"phoneNumber":{"type":"string","description":"Device phone number","minLength":1,"maxLength":20},"fourLastDigitPhoneNumber":{"type":"string","minLength":1,"maxLength":4},"deviceName":{"type":"string","maxLength":128,"description":"Device name set by the end user"},"deviceParentId":{"type":"string","description":"ID of parent device. Applies to wearable","minLength":1,"maxLength":64},"language":{"type":"string","description":"Language set on the device in ISO 639-3","minLength":1,"maxLength":3},"serialNumber":{"type":"string","minLength":1,"maxLength":64,"description":"Device serial number"},"timeZone":{"type":"string","description":"Device time zone abbreviation. Example: PST, GMT, etc...","minLength":1,"maxLength":32},"timeZoneSetting":{"type":"string","maxLength":32,"description":"Who has set the timezone.\nPossible values:\n- NETWORK_SET\n- CONSUMER_SET"},"simSerialNumber":{"type":"string","description":"Secure Element serial number","minLength":1,"maxLength":24},"IMEI":{"type":"string","minLength":1,"maxLength":32},"networkOperator":{"type":"string","description":"Network operator name.","maxLength":32},"networkType":{"type":"string","description":"Network type. Can be:\n- CELLULAR\n- WIFI","maxLength":16}},"required":["deviceId"]},"digitalCardInformationForDigitize":{"title":"digitalCardInformation","type":"object","description":"Provides information about the token. Note that this data is available only if the DIGITIZE operation is either SUCCESSFUL or PENDING.","required":["digitalCardId","state"],"properties":{"digitalCardId":{"type":"string","minLength":1,"maxLength":64,"description":"Unique identifier of the token specified by the TSP"},"panSuffix":{"type":"string","minLength":4,"maxLength":4,"description":"Last four digits of the token\r\n\r\nOnly available for SUCCESSFUL notifications"},"state":{"$ref":"#/components/schemas/digitalCardState"},"type":{"$ref":"#/components/schemas/tokenType"},"digitalCardRequestorInformation":{"title":"digitalCardRequestorInformation","type":"object","description":"Provides details about the digital card requestor.","properties":{"id":{"type":"string","description":"Digital Card requestor identifier. This is provided by the TSP itself.","minLength":11,"maxLength":11},"name":{"type":"string","maxLength":256,"description":"Wallet or Merchant human readable name"},"walletAccountId":{"type":"string","description":"Unique identifier of a wallet user account","maxLength":64},"captureMethod":{"$ref":"#/components/schemas/captureMethod"}}},"provisioningTime":{"type":"string","maxLength":32,"description":"The provisioning time of the token. Format ISO 8601 YYYY-MM-DDThh:mm:ssTZD\r\n\r\nOnly available for SUCCESSFUL operations notifications"}}},"digitalCardState":{"type":"string","description":"The state of the digital card (token)\n\nN.B. Tokens in DELETED state are included only if the corresponding issuer onboarding flag (i.e. manageDeletedToken) is set.\n","enum":["ACTIVE","INACTIVE","DELETED","DEPLOYMENT_ONGOING","PENDING_ACTIVATION"],"title":"digitalCardState"},"tokenType":{"type":"string","maxLength":16,"description":"The type of the token. Following values are supported:\n- SE\n- HCE\n- COF\n- ECOM\n- QRC"},"captureMethod":{"description":"Method used by the user or the issuer to capture card information to digitize.\n\nDescription:\n- CAMERA: when card information is captured by the on-device camera\n- MANUAL: when the consumer enters the card information manually, through the device keyboard\n- BANK_APP: when the card information is exchanged between the banking App and the Issuer App\n- ON-FILE: when the card information is retrieved by a merchant who has stored the card information\n- READER_MODE: when the card information is retrieved through a NFC interaction between the device and the physical card (applies to VISA and some domestic schemes)\n- TOKEN: when the card information is retrieved through a device-based token. This is applicable only to VISA token for token provisioning use case\n- CHIP_DIP: card information is captured by inserting (dip) the card into a terminal (only VISA)\n- UNKNOWN: the origin of the card information capture is not known  ","type":"string","maxLength":64},"eligibilityInformation":{"type":"object","description":"Provides details about the eligibility check operation","properties":{"cardBIN":{"type":"string","minLength":6,"maxLength":6},"eligible":{"type":"boolean"},"cardProduct":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":64},"name":{"type":"string","minLength":1,"maxLength":256}}}},"required":["cardBIN","eligible"]},"digitizationInformation":{"type":"object","description":"Provides details about the tokenization (digitization) operation whatever the result is (that is, successful, pending or cancelled)","title":"digitizationInformation","required":["digitizationChecks","digitizationResult"],"properties":{"digitizationChecks":{"type":"object","required":["issuerVerifications","decisionEngineVerifications","digitalCardRequestorAssessment"],"properties":{"issuerVerifications":{"$ref":"#/components/schemas/issuerVerifications"},"decisionEngineVerifications":{"$ref":"#/components/schemas/decisionEngineVerifications"},"digitalCardRequestorAssessment":{"$ref":"#/components/schemas/digitalCardRequestorAssessment"},"verificationCodes":{"type":"array","maxItems":100,"description":"D1 Verification codes generated by the decision engine during rule evaluation. Following values are possible:\n\t \n|value |description| \n|-----------|----------------------------------| \n|ADDRESS-MATCH|Full billing address match (Street Line 1 and ZIP Code and Country code)|\n|ADDRESS-NO_MATCH|Full billing address mismatch (Street Line 1 and ZIP Code and Country code)|\n|ADDRESS-PARTIAL_MATCH|Partial billing address mismatch (Street Line 1 or ZIP Code or Country code)|\n|ADDRESS_COUNTRYCODE-NO_MATCH|Country codes are available but do not match the comparison|\n|ADDRESS_LINE1-NO_MATCH|Address Street Line 1 information are available but do not match the comparison|\n|ADDRESS_LINE2-NO_MATCH|Address Street Line 2 information are available but do not match the comparison|\n|ADDRESS_ZIPCODE-NO_MATCH|ZIP codes are available but do not match the comparison|\n|ISS_LANGUAGE-INVALID|Cardholder device language provided by the issuer is not encoded as a valid language|\n|ISS_LANGUAGE-UNAVAILABLE|Cardholder device language not provided by the issuer|\n|ISS_LOCALIZATION-INVALID|Cardholder country code provided by the issuer is not encoded as a valid language|\n|ISS_LOCALIZATION-UNAVAILABLE|Cardholder country code not provided by the issuer|\n|ISS_PHONE_NUMBER-INVALID|Cardholder phone number provided by the issuer is not recognized as a valid number|\n|ISS_PHONE_NUMBER-UNAVAILABLE|Cardholder phone number not provided by the issuer|\n|ISS_ADDRESS-INVALID|Billing address provided by the Issuer is not valid and/or inaccurate|\n|ISS_ADDRESS-UNAVAILABLE|Billing address not provided by the issuer in GetConsumerInfo API response|\n|LANGUAGE-MATCH|Cardholder device language matches|\n|LANGUAGE-NO_MATCH|Cardholder device language does not match|\n|LOCALIZATION-MATCH|Cardholder localization obtained by resolving data provided in the tokenization request (device coordinates and/or IP Address) matches with customer residency address country code|\n|LOCALIZATION-NO_MATCH|Cardholder localization obtained by resolving data provided in the tokenization request (device coordinates and/or IP Address) do not match with customer residency address country code|\n|LOCALIZATION-PARTIAL_MATCH|One of the country codes obtained by resolving IP address & device location coordinates do not match with customer residency address country code|\n|NAME-MATCH|Cardholder name matches|\n|NAME-NO_MATCH|Cardholder name does not match|\n|NAME-PARTIAL_MATCH|Cardholder name only partially matches|\n|PHONE_NUMBER-MATCH|Cardholder phone number matches|\n|PHONE_NUMBER-NO_MATCH|Cardholder phone number does not match|\n|PHONE_NUMBER-PARTIAL_MATCH|Cardholder phone number suffix matches|\n|TR_ACCOUNT_SCORE-UNAVAILABLE|Account scoring not provided in tokenization request|\n|TR_ADDRESS-INVALID|Billing address provided by the token requester is not valid and/or inaccurate|\n|TR_ADDRESS-UNAVAILABLE|Billing address not provided by the token requester in the tokenization request or one of those fields is missing: Street Line 1 or ZIP Code or Country code|\n|TR_DEVICE_SCORE-UNAVAILABLE|Device scoring not provided in tokenization request|\n|TR_IPADDRESS-UNAVAILABLE|Cardholder device IP Address not provided in the tokenization request|\n|TR_IPADDRESS-INVALID|Cardholder device IP Address provided in the tokenization request cannot be correctly resolved into a country code\n|TR_LANGUAGE-UNAVAILABLE|Cardholder device language not provided in the tokenization request|\n|TR_LANGUAGE-INVALID|Cardholder device language provided in the tokenization request is not encoded as a valid language|\n|TR_LOCALIZATION-UNAVAILABLE|Cardholder device location coordinates not provided in the tokenization request|\n|TR_LOCALIZATION-INVALID|Cardholder device location coordinates provided in the tokenization request cannot be correctly resolved into a valid country|\n|TR_NAME-UNAVAILABLE|Cardholder name not provided in tokenization request|\n|TR_PHONE_NUMBER-UNAVAILABLE|Cardholder phone number not provided in the tokenization request|\n|TR_PHONE_NUMBER-INVALID|Cardholder phone number provided in the tokenization request is not recognized as a valid number|\n|TR_RECOMMENDATION-UNAVAILABLE|Wallet recommendation not provided in tokenization request|","items":{"type":"string"}},"matchedRule":{"type":"object","description":"Decision Engine rule triggerig the final decision.\r\n\r\nApplicable only to Decision Engine Version V2","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier of the matching rule."},"name":{"type":"string","description":"Name of the matching rule."},"scenario":{"type":"object","description":"The actual matching scenario ","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier of the matched scenario."},"name":{"type":"string","description":"Name of the matched scenario."}}}}}}},"digitizationResult":{"type":"object","required":["flow"],"properties":{"flow":{"type":"string","description":"Tokenization Decision Engine assessment result.\nFollowing values are possible:\n- RED (DECLINE)\n- GREEN (APPROVE)\n- YELLOW (STEP-UP)","minLength":1,"maxLength":64,"enum":["RED","YELLOW","GREEN"]},"score":{"type":"string","minLength":1,"maxLength":1,"pattern":"[1-5]{1,1}$","description":"This is the final score the decision engine has computed considering all the verifications and the scoring from the requestor and/or TSP.\nScore goes from 1 (low trust) to 5 (high trust)."},"idAndVMethods":{"$ref":"#/components/schemas/idAndVMethods"},"digitizationDecisionTimestamp":{"type":"string","minLength":1,"maxLength":64,"description":"The time when the digitization decision has been sent to the TSP.\nThis parameter can be used by the Issuer to manage the notifications to cardholder in case of PENDING status of digitize operation.\nFormat ISO 8601 YYYY-MM-DDThh:mm:ssTZD\n"}}}}},"issuerVerifications":{"title":"issuerVerifications","type":"object","properties":{"cardIsExpired":{"$ref":"#/components/schemas/result"},"cardIsLostOrStolen":{"$ref":"#/components/schemas/result"},"wrongCVV":{"$ref":"#/components/schemas/result"},"fraudSuspect":{"$ref":"#/components/schemas/result"},"cardIsInvalid":{"$ref":"#/components/schemas/result"}},"required":["cardIsExpired","cardIsLostOrStolen","wrongCVV","fraudSuspect","cardIsInvalid"]},"result":{"title":"result","type":"object","properties":{"result":{"type":"string","enum":["YES","NO","NOT_APPLICABLE"]}}},"decisionEngineVerifications":{"title":"decisionEngineVerifications","type":"object","properties":{"tooManyDigitizationRequests":{"$ref":"#/components/schemas/result"},"tooManyCVVVerificationFailed":{"$ref":"#/components/schemas/result"},"walletPhoneNumberNotMatchingConsumerPhoneNumber":{"$ref":"#/components/schemas/result"},"digitizationCountExceededOnSameFPAN":{"$ref":"#/components/schemas/result"},"digitizationCountExceededOnSameDevice":{"$ref":"#/components/schemas/result"},"cardIsExpired":{"$ref":"#/components/schemas/result"},"cardIsInvalid":{"$ref":"#/components/schemas/result"},"wrongCVV":{"$ref":"#/components/schemas/result"},"CVVNotProvided":{"$ref":"#/components/schemas/CVVNotProvided"}},"required":["tooManyDigitizationRequests","tooManyCVVVerificationFailed","walletPhoneNumberNotMatchingConsumerPhoneNumber","digitizationCountExceededOnSameFPAN","digitizationCountExceededOnSameDevice","cardIsExpired","cardIsInvalid","wrongCVV","CVVNotProvided"]},"CVVNotProvided":{"title":"CVVNotProvided","type":"object","description":"If CVV has not been provided by the digital card requestor, then D1 verifies if this is incompatible with either the card capture method used or the digital card type requested.","properties":{"incompatibleWithCaptureMethod":{"$ref":"#/components/schemas/captureMethodIncompatible"},"incompatibleWithDigitalCardType":{"$ref":"#/components/schemas/digitalCardTypeIncompatible"}},"required":["incompatibleWithCaptureMethod","incompatibleWithDigitalCardType"]},"captureMethodIncompatible":{"title":"captureMethodIncompatible","type":"object","properties":{"result":{"type":"string","enum":["YES","NO","NOT_APPLICABLE"]}}},"digitalCardTypeIncompatible":{"title":"digitalCardTypeIncompatible","type":"object","properties":{"result":{"type":"string","enum":["YES","NO","NOT_APPLICABLE"]}},"description":"If the digital card type required is NOT one of the following:\n- COF (card on file)\n- ECOM (e-Commerce)\n\nthen the absence of CVV is unexpected, the result will be YES"},"digitalCardRequestorAssessment":{"title":"digitalCardRequestorAssessment","type":"object","required":["averageScore","deviceScore","recommendation"],"properties":{"averageScore":{"type":"string","description":"Average scoring from the digital card requestor. Following values are possible:\n\nNOT_APPLICABLE (score is based on data from digital card requestor. If the data is not available, average can't be computed).\n1\n2\n3\n4\n5"},"deviceScore":{"type":"string","description":"Following values are possible:\n\nNOT_APPLICABLE (score is based on data from digital card requestor. If the data is not available, score can't be provided).\n1\n2\n3\n4\n5"},"recommendation":{"$ref":"#/components/schemas/walletRecommendation"},"reasonCodesRecommendationDescription":{"type":"array","description":"This field shall allow to list the received Wallet Reason Code Recommendation(s).Values are mapped to more user friendly descriptions. The full list of mapped codes is available here: https://docs.payments.thalescloud.io/implement-tokenization/card-tokenization-request/processing-the-decision/decision-engine/data-validation-codes/wallet-reason-codes","uniqueItems":true,"items":{"type":"object"}}}},"walletRecommendation":{"type":"string","description":"Wallet/Digital Card Requestor colour recommended during the card tokenization request\n\nPlease note that in certain situations a recommendation might be not provided by the wallet.","enum":["NOT_APPLICABLE","GREEN","YELLOW","ORANGE","RED"]},"idAndVMethods":{"type":"object","properties":{"supported":{"type":"array","description":"Any value described in the \"**selected**\" field","items":{"type":"string"}},"selected":{"type":"string","minLength":1,"maxLength":64,"description":"The following values are possible:\n- OTP_BY_SMS\n- OTP_BY_EMAIL\n- BANK_APP\n- CUSTOMER_SERVICE\n- 3DS"}}},"errorGenericOutbound":{"type":"object","description":"Generic error returned by the APIs.","properties":{"error":{"type":"string","description":"Description of the error."}}}},"responses":{"BadRequestOutbound":{"description":"Bad Request, Invalid request URI or header, or unsupported non-standard parameter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGenericOutbound"}}}},"UnauthorizedOutbound":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGenericOutbound"}}}},"InternalServerErrorOutbound":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGenericOutbound"}}}}}},"paths":{"/notifications/d1/v2/issuers/{issuerId}/cards":{"post":{"description":"This request is used by D1 to notify the system of the bank about any card operation update.<br>\nThere is a retry mechanism in case the notification has not been sent.\nThus the bank system can use this notification to synchronize card operation status with their card repository.<br>\nThe number max of card operation in the notification is defined at onboarding time according to bank's system capability.<br>\nEach operation is linked to a given cardId, and can contain a message decidicated for the final end-user.","requestBody":{"$ref":"#/components/requestBodies/NotifyCardOperationsRequestBody"},"responses":{"204":{"description":"Successful"},"400":{"$ref":"#/components/responses/BadRequestOutbound"},"401":{"$ref":"#/components/responses/UnauthorizedOutbound"},"500":{"$ref":"#/components/responses/InternalServerErrorOutbound"}},"summary":"Notify Card Operations (v2)","operationId":"notify-card-operations","parameters":[{"schema":{"type":"string"},"in":"header","name":"Authorization","description":"Oauth Access token (optional)"}]}}}}
````


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.payments.thalescloud.io/d1-v1-api/ja/d1-v1-apirifarensu/kdo/autobaundo/outbound-card-api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
