> 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/tokenization/integrate-the-d1-api/d1-api-reference/inbound-api-to-d1/digital-card-api.md).

# Digital card API

## Suspend

> This request is used by the issuer backend to request the suspension of the digital card if the digital card is active.\<br/>The result of this operation is synchronous from a TSP point of view (a successful response means that the digital card has been successfully suspended on the TSP itself) but does not guarantee that any update has occurred yet on the device, an optional notification will be sent on successful/unsuccessful completion of the operation on the wallet.

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"tags":[{"name":"Operations","description":"Different operations that can be done on a digital card."}],"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"operationRequest":{"description":"The following object represent the account","additionalProperties":false,"type":"object","properties":{"reason":{"type":"string","description":"The reason why the action is performed.","pattern":"^[a-zA-Z0-9 ]{1,64}$"},"reasonCode":{"type":"string","description":"The reason code why the action is performed.<br/>If not provided , default reason code is ISSUER_DECISION","enum":["USER_DECISION","ISSUER_DECISION","DEVICE_LOST","DEVICE_STOLEN","CARD_LOST","CARD_STOLEN"]}}},"operationStatus":{"title":"operation","additionalProperties":false,"type":"object","description":"Operation information.","properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"status":{"type":"string","description":"Status of the operation","enum":["PENDING","SUCCESSFUL","FAILED"]}},"required":["status"]},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Forbidden action, check the state of the linked consumer or account or digital card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}/operations:suspend":{"post":{"description":"This request is used by the issuer backend to request the suspension of the digital card if the digital card is active.<br/>The result of this operation is synchronous from a TSP point of view (a successful response means that the digital card has been successfully suspended on the TSP itself) but does not guarantee that any update has occurred yet on the device, an optional notification will be sent on successful/unsuccessful completion of the operation on the wallet.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operationRequest"}}}},"responses":{"200":{"description":"Successful card suspension request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/operationStatus"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"Suspend","tags":["Operations"],"operationId":"deactivatedigitalCard"}}}}
```

## Resume

> This request is used by the issuer backend to request \<br/>- the activation of the digital card if it has never been activated\<br/>- the resumption of the digital card if the digital card is suspended\<br/>The result of this operation is synchronous from a TSP point of view (a successful response means that the digital card has been successfully resumed on the TSP itself) but does not guarantee that any update has occurred yet on the device, an optional notification will be sent on successful/unsuccessful completion of the operation on the wallet.

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"tags":[{"name":"Operations","description":"Different operations that can be done on a digital card."}],"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"resumeOperationRequest":{"description":"The following object represent the request body of the resume operation","additionalProperties":false,"type":"object","title":"resumeOperationRequest","properties":{"reason":{"type":"string","description":"The reason why the action is performed.","pattern":"^[a-zA-Z0-9 ]{1,64}$"},"reasonCode":{"type":"string","description":"The reason code why the action is performed.<br/>If not provided , default reason code is ISSUER_DECISION","enum":["USER_DECISION","ISSUER_DECISION"]}}},"operationStatus":{"title":"operation","additionalProperties":false,"type":"object","description":"Operation information.","properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"status":{"type":"string","description":"Status of the operation","enum":["PENDING","SUCCESSFUL","FAILED"]}},"required":["status"]},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Forbidden action, check the state of the linked consumer or account or digital card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}/operations:resume":{"post":{"description":"This request is used by the issuer backend to request <br/>- the activation of the digital card if it has never been activated<br/>- the resumption of the digital card if the digital card is suspended<br/>The result of this operation is synchronous from a TSP point of view (a successful response means that the digital card has been successfully resumed on the TSP itself) but does not guarantee that any update has occurred yet on the device, an optional notification will be sent on successful/unsuccessful completion of the operation on the wallet.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/resumeOperationRequest"}}}},"responses":{"200":{"description":"Successful card resumption","content":{"application/json":{"schema":{"$ref":"#/components/schemas/operationStatus"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"Resume","tags":["Operations"],"operationId":"activateDigitalCard"}}}}
```

## Delete

> This request is used by the issuer backend to request the deletion of the digital card.\<br/>The result of this operation is synchronous from a TSP point of view (a successful response means that digital card has been successfully deleted on the TSP itself) but does not guarantee that any update has occurred yet on the device, an optional notification will be sent on successful/unsuccessful completion of the operation on the wallet.

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"tags":[{"name":"Operations","description":"Different operations that can be done on a digital card."}],"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"operationRequest":{"description":"The following object represent the account","additionalProperties":false,"type":"object","properties":{"reason":{"type":"string","description":"The reason why the action is performed.","pattern":"^[a-zA-Z0-9 ]{1,64}$"},"reasonCode":{"type":"string","description":"The reason code why the action is performed.<br/>If not provided , default reason code is ISSUER_DECISION","enum":["USER_DECISION","ISSUER_DECISION","DEVICE_LOST","DEVICE_STOLEN","CARD_LOST","CARD_STOLEN"]}}},"operationStatus":{"title":"operation","additionalProperties":false,"type":"object","description":"Operation information.","properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"status":{"type":"string","description":"Status of the operation","enum":["PENDING","SUCCESSFUL","FAILED"]}},"required":["status"]},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Forbidden action, check the state of the linked consumer or account or digital card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}/operations:delete":{"post":{"description":"This request is used by the issuer backend to request the deletion of the digital card.<br/>The result of this operation is synchronous from a TSP point of view (a successful response means that digital card has been successfully deleted on the TSP itself) but does not guarantee that any update has occurred yet on the device, an optional notification will be sent on successful/unsuccessful completion of the operation on the wallet.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operationRequest"}}}},"responses":{"200":{"description":"Successful card deletion request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/operationStatus"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"Delete","tags":["Operations"],"operationId":"deleteDigitalCard"}}}}
```

## Search

> This request is used by the issuer backend to search for digital cards in D1 using a digital PAN as lookup and retrieve card & end user related details.\
> For example this can be used to retrieve detailed information about the digital card.

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"encryptedDataCriteria":{"type":"object","title":"encryptedDataCriteria","properties":{"encryptedData":{"type":"string","title":"encryptedCardData","maxLength":8192,"pattern":"^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$","description":"Ciphered digital PAN, this DPAN is encrypted using the JWE encryption (please refer to the [Encrypt sensitive data](../../../integrate-the-d1-api/encrypt-sensitive-data) for more details)<br/><br/><b>Content</b><br/><br/>Once deciphered, the plaintext contains:\n\t\n|JSON field parameter name|type|description|MOC|Length|\n|-------|-------|-------|-------|-------|\n|pan|String|The digital pan value.|M|Up to 19|"},"searchType":{"type":"string","description":"The search type","enum":["encryptedData"]}},"required":["encryptedData"]},"DigitalCardReference":{"additionalProperties":false,"type":"object","title":"","properties":{"consumerId":{"$ref":"#/components/schemas/consumerId"},"digitalCardId":{"$ref":"#/components/schemas/digitalCardId"},"deviceId":{"$ref":"#/components/schemas/deviceId-2"}},"required":["digitalCardId"]},"consumerId":{"type":"string","description":"Unique identifier of the consumer. ","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"digitalCardId":{"type":"string","description":"Unique identifier of the digital card.","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"deviceId-2":{"description":"Unique identifier of the deviceId *","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9_-]{1,64}$","type":"string"},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Forbidden action, check the state of the linked consumer or account or digital card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards:search":{"post":{"description":"This request is used by the issuer backend to search for digital cards in D1 using a digital PAN as lookup and retrieve card & end user related details.\nFor example this can be used to retrieve detailed information about the digital card.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/encryptedDataCriteria"}}}},"responses":{"200":{"description":"Search Result","content":{"application/json":{"schema":{"type":"object","properties":{"":{"$ref":"#/components/schemas/DigitalCardReference"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"Search","operationId":"searchDigitalCard"}}}}
```

## Get details

> This request provides detailed information about the digital card  given its card identifier.

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"cardId":{"type":"string","description":"Unique identifier of the card.","minLength":1,"maxLength":48,"pattern":"^[A-Za-z0-9_-]{1,48}$"},"DigitalCardDetails":{"allOf":[{"$ref":"#/components/schemas/digitalCardInformation"},{"type":"object","properties":{"digitalCardRequestorInformation":{"$ref":"#/components/schemas/digitalCardRequestorInformation"},"deviceInformation":{"$ref":"#/components/schemas/deviceInformation"}}}]},"digitalCardInformation":{"title":"digitalCardInformation","type":"object","description":"Provides information about the token. Note that this data is available only if the tokenization is successful or pending.","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"},"state":{"$ref":"#/components/schemas/digitalCardState"},"type":{"$ref":"#/components/schemas/tokenType"},"deviceBindingList":{"type":"array","description":"List of all devices bound to this token. A device is represented by its binding reference.","items":{"type":"string","maxLength":64}},"provisioningTime":{"type":"string","maxLength":32,"description":"The provisioning time of the token. Format ISO 8601 YYYY-MM-DDThh:mm:ssTZD"},"lastReplenishTime":{"type":"string","maxLength":32,"description":"The last time the token keys have been replenished. Format ISO 8601 YYYY-MM-DDThh:mm:ssTZD"},"lastStateChangeTime":{"type":"string","maxLength":32,"description":"The last time the token status has been changed. Format ISO 8601 YYYY-MM-DDThh:mm:ssTZD"}},"required":["digitalCardId","panSuffix","state"]},"digitalCardState":{"type":"string","description":"the state of the digital card (token)","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"},"digitalCardRequestorInformation":{"title":"digitalCardRequestorInformation","additionalProperties":false,"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},"walletId":{"type":"string","description":"MasterCard ONLY. Wallet Application identifier","maxLength":32},"name":{"type":"string","maxLength":256,"description":"Wallet or Merchant human readable name"},"tspId":{"type":"string","maxLength":11,"minLength":11,"description":"VISA only. Identifiers of the couple Token Requestor - Token Service Provider"},"originalDigitalCardRequestorId":{"type":"string","description":"Applies only to VISA in case of token for token provisioning","minLength":11,"maxLength":11}}},"deviceInformation":{"title":"deviceInformation","additionalProperties":false,"type":"object","description":"Provides details about the device that has been used for the card digitization.\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 sorage 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- 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","description":"","minLength":1,"maxLength":4},"deviceName":{"type":"string","maxLength":128,"description":"Device name set by the consumer"},"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"]},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Forbidden action, check the state of the linked consumer or account or digital card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}":{"get":{"summary":"Get details","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"parentCardId":{"$ref":"#/components/schemas/cardId"}}},{"$ref":"#/components/schemas/DigitalCardDetails"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"operationId":"get-digital-card-information","description":"This request provides detailed information about the digital card  given its card identifier."}}}}
```

## Get credentials

> This request is used by D1 to provide details about the token credentials of a digital card (that is, PAN, expiry date) given the card identifier.\
> \
> \<!-- theme: info -->\
> \>### Note\
> \> The issuer system must be configured with the correct applicative encryption key in order to use this API. \
> \>

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"credentials":{"type":"string","title":"credentials","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 [Encrypt sensitive data](../../../integrate-the-d1-api/encrypt-sensitive-data) 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},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Forbidden action, check the state of the linked consumer or account or digital card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}/credentials":{"get":{"summary":"Get credentials","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"credentials":{"$ref":"#/components/schemas/credentials"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"operationId":"get-token-credentials","description":"This request is used by D1 to provide details about the token credentials of a digital card (that is, PAN, expiry date) given the card identifier.\n\n<!-- theme: info -->\n>### Note\n> The issuer system must be configured with the correct applicative encryption key in order to use this API. \n>"}}}}
```

## Get operation

> Retrieves the information related to an operation for a digital card.

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"tags":[{"name":"Operations","description":"Different operations that can be done on a digital card."}],"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"operationDigitalCard":{"title":"operationDigitalCard","type":"object","description":"Operation details related to a specific operationId","properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"operation":{"type":"string","description":"The operation type.","enum":["ACTIVATE","SUSPEND","RESUME","DELETE","RENEW","BIND","UNBIND"]},"status":{"type":"string","enum":["SUCCESSFUL","PENDING","FAILED"],"description":"Status of the operation"},"startTime":{"$ref":"#/components/schemas/timeStampRequest"},"endTime":{"$ref":"#/components/schemas/timeStampRequest"},"requestorId":{"type":"string","description":"Identifier of the principal who initiates the operation\n    - consumerId if USER\n    - issuerId if ISSUER\n    - cci user id if CCI"},"requestorType":{"type":"string","enum":["ISSUER","USER","TSP","CCI"]},"reason":{"type":"string"},"reasonCode":{"type":"string","enum":["USER_DECISION","ISSUER_DECISION","DEVICE_LOST","DEVICE_STOLEN","CARD_LOST","CARD_STOLEN","CARD_BROKEN"]},"details":{"type":"object","description":"Container to hold any detailed information regarding the executed operation","properties":{"bindingInformation":{"$ref":"#/components/schemas/bindingInformation"}}},"error":{"type":"string","description":"Human readable string representing the error, only present in case of operation failure"}},"required":["operationId","operation","status","startTime","requestorId","requestorType"]},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"timeStampRequest":{"type":"string","title":"timeStampRequest","description":"The time the request has been processed.\nFormat ISO 8601 YYYY-MM-DDThh:mm:ssTZD","minLength":1,"maxLength":64},"bindingInformation":{"type":"object","description":"Provides details about the binding operation whatever the result (i.e. successful, pending or cancelled)","title":"bindingInformation","properties":{"checks":{"type":"object","properties":{"typeNotSupported":{"$ref":"#/components/schemas/result"},"manufacturerNotSupported":{"$ref":"#/components/schemas/result"},"osVersionNotSupported":{"$ref":"#/components/schemas/result"},"osBuildVersionNotSupported":{"$ref":"#/components/schemas/result"}}},"result":{"type":"object","required":["flow"],"properties":{"flow":{"type":"string","description":"Following values are possible:\n- RED\n- GREEN\n- YELLOW","minLength":1,"maxLength":64,"enum":["RED","GREEN","YELLOW"]},"idAndVMethods":{"$ref":"#/components/schemas/idAndVMethods"}}},"deviceReference":{"type":"string","maxLength":128,"description":"The index number from TSP where the \ndeviceID is stored. This field is required for digital card device binding. "},"deviceName":{"type":"string","maxLength":128,"description":"A readable name for the device. Ideally, the end user enters\nthis name. It can be used to identify the device in customer support calls."}},"required":["result"]},"result":{"title":"result","type":"object","properties":{"result":{"type":"string","enum":["YES","NO","NOT_APPLICABLE"]}}},"idAndVMethods":{"additionalProperties":false,"type":"object","properties":{"supported":{"type":"array","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"}}},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}/operations/{operationId}":{"get":{"summary":"Get operation","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/operationDigitalCard"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"tags":["Operations"],"operationId":"get-digital-card-operation-operationId","description":"Retrieves the information related to an operation for a digital card."}}}}
```

## Get all operations

> Retrieves all the operations related to a digital card. The API specifies the starting point (offset) and the number of operations (limit) to be retrieved. Offset 0 (the default) corresponds to the most recent operation. For example a limit of 5 and an offset of 2 would return the five most recent operations before the most recent two”.\
> If no operations are available for the given digitalCardId, an empty list is returned.

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"tags":[{"name":"Operations","description":"Different operations that can be done on a digital card."}],"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"operationDigitalCard":{"title":"operationDigitalCard","type":"object","description":"Operation details related to a specific operationId","properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"operation":{"type":"string","description":"The operation type.","enum":["ACTIVATE","SUSPEND","RESUME","DELETE","RENEW","BIND","UNBIND"]},"status":{"type":"string","enum":["SUCCESSFUL","PENDING","FAILED"],"description":"Status of the operation"},"startTime":{"$ref":"#/components/schemas/timeStampRequest"},"endTime":{"$ref":"#/components/schemas/timeStampRequest"},"requestorId":{"type":"string","description":"Identifier of the principal who initiates the operation\n    - consumerId if USER\n    - issuerId if ISSUER\n    - cci user id if CCI"},"requestorType":{"type":"string","enum":["ISSUER","USER","TSP","CCI"]},"reason":{"type":"string"},"reasonCode":{"type":"string","enum":["USER_DECISION","ISSUER_DECISION","DEVICE_LOST","DEVICE_STOLEN","CARD_LOST","CARD_STOLEN","CARD_BROKEN"]},"details":{"type":"object","description":"Container to hold any detailed information regarding the executed operation","properties":{"bindingInformation":{"$ref":"#/components/schemas/bindingInformation"}}},"error":{"type":"string","description":"Human readable string representing the error, only present in case of operation failure"}},"required":["operationId","operation","status","startTime","requestorId","requestorType"]},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"timeStampRequest":{"type":"string","title":"timeStampRequest","description":"The time the request has been processed.\nFormat ISO 8601 YYYY-MM-DDThh:mm:ssTZD","minLength":1,"maxLength":64},"bindingInformation":{"type":"object","description":"Provides details about the binding operation whatever the result (i.e. successful, pending or cancelled)","title":"bindingInformation","properties":{"checks":{"type":"object","properties":{"typeNotSupported":{"$ref":"#/components/schemas/result"},"manufacturerNotSupported":{"$ref":"#/components/schemas/result"},"osVersionNotSupported":{"$ref":"#/components/schemas/result"},"osBuildVersionNotSupported":{"$ref":"#/components/schemas/result"}}},"result":{"type":"object","required":["flow"],"properties":{"flow":{"type":"string","description":"Following values are possible:\n- RED\n- GREEN\n- YELLOW","minLength":1,"maxLength":64,"enum":["RED","GREEN","YELLOW"]},"idAndVMethods":{"$ref":"#/components/schemas/idAndVMethods"}}},"deviceReference":{"type":"string","maxLength":128,"description":"The index number from TSP where the \ndeviceID is stored. This field is required for digital card device binding. "},"deviceName":{"type":"string","maxLength":128,"description":"A readable name for the device. Ideally, the end user enters\nthis name. It can be used to identify the device in customer support calls."}},"required":["result"]},"result":{"title":"result","type":"object","properties":{"result":{"type":"string","enum":["YES","NO","NOT_APPLICABLE"]}}},"idAndVMethods":{"additionalProperties":false,"type":"object","properties":{"supported":{"type":"array","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"}}},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}},"parameters":{"offset-query-2":{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":100},"description":"Index from which the query starts returning operations (default value: 0)"},"limit-query-2":{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Upper limit of the query"}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}/operations":{"get":{"summary":"Get all operations","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/operationDigitalCard"}},"remainingOperations":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"tags":["Operations"],"operationId":"get-all-digital-card-operations-by-cardId","parameters":[{"$ref":"#/components/parameters/offset-query-2"},{"$ref":"#/components/parameters/limit-query-2"}],"description":"Retrieves all the operations related to a digital card. The API specifies the starting point (offset) and the number of operations (limit) to be retrieved. Offset 0 (the default) corresponds to the most recent operation. For example a limit of 5 and an offset of 2 would return the five most recent operations before the most recent two”.\nIf no operations are available for the given digitalCardId, an empty list is returned."}}}}
```

## StepUp Auth Result

> This request is used by the Issuer backend to approve a stepup authentication request (Device Binding/Cardholder Verification).

```json
{"openapi":"3.0.0","info":{"title":"Inbound Digital Card API","version":"1.0"},"tags":[{"name":"Operations","description":"Different operations that can be done on a digital card."}],"servers":[{"url":"https://api.d1.thalescloud.io/banking/v1","description":"Production server"},{"url":"https://api.d1-stg.thalescloud.io/banking/v1","description":"Staging server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A JWT using the Bearer schema.\\nThe server checks the validity of the provided token to control access to this protected resource."}},"schemas":{"stepupAuthOperationRequest":{"description":"Step-Up Authentication Result request","type":"object","title":"stepupAuthOperationRequest","properties":{"authenticationId":{"type":"integer","description":"this will be the \"lifeCycleTraceId\" for Visa or the \"authenticationCorrelationId\" for Mastercard","maximum":999999999999999},"details":{"type":"object","properties":{"result":{"type":"string","enum":["SUCCESSFUL","FAILED"]},"method":{"type":"string","description":"Authentication Method","enum":["BANK_APP","BANK_WEBSITE","CUSTOMER_SERVICE"]}},"required":["result","method"]}},"required":["authenticationId","details"]},"operationStatusSuccessful":{"title":"operation","additionalProperties":false,"type":"object","description":"Operation result information.","properties":{"operationId":{"$ref":"#/components/schemas/operationId"},"status":{"type":"string","description":"Status of the operation","enum":["SUCCESSFUL"]}}},"operationId":{"type":"string","description":"Unique identifier of the operation","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"errorGeneric":{"additionalProperties":false,"type":"object","description":"Generic error returned by the APIs.","properties":{"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.<br/>This field is for troubleshooting purposes only, it can change at any time so MUST NOT be parsed, and is not supposed to be human readable so CANNOT be displayed to end users."}}}},"responses":{"BadRequest":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Forbidden action, check the state of the linked consumer or account or digital card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or digital card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}}},"paths":{"/issuers/{issuerId}/digitalCards/{digitalCardId}/operations:stepupAuthenticationResult":{"post":{"description":"This request is used by the Issuer backend to approve a stepup authentication request (Device Binding/Cardholder Verification).","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/stepupAuthOperationRequest"}}}},"responses":{"200":{"description":"Successful Step-up authentication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/operationStatusSuccessful"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"StepUp Auth Result","tags":["Operations"],"operationId":"stepupAuthResult"}}}}
```


---

# 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:

```
GET https://docs.payments.thalescloud.io/tokenization/integrate-the-d1-api/d1-api-reference/inbound-api-to-d1/digital-card-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
