> 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/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/order-card-api.md).

# Order card API

Download [D1-Public-IN-v1-Physical-Issuance.json](https://d1-public-in-v1-physical-issuance.json)

## Card order

> This API is used by the issuer backend to order a single physical card.

````json
{"openapi":"3.0.0","info":{"title":"Inbound Physical Card API","version":"2.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":{"description":"A JWT generated by the [get token API](https://docs.payments.thalescloud.io/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/oauth2-api#post-oauth2-token).<br/>\nThe server checks the validity of the provided token to control access to this protected resource. \nPlease refer to [Authorization flow](https://docs.payments.thalescloud.io/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/oauth2-api#post-oauth2-token) \nfor more details about the flow and on how to get this JWT.\n","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"cardRequest":{"oneOf":[{"$ref":"#/components/schemas/cardRequestThales"},{"$ref":"#/components/schemas/cardRequestInstant"},{"$ref":"#/components/schemas/cardRequestCentral"}],"discriminator":{"propertyName":"distributionChannel","mapping":{"THALES":"#/components/schemas/cardRequestThales","INSTANT":"#/components/schemas/cardRequestInstant","CENTRAL":"#/components/schemas/cardRequestCentral"}}},"cardRequestThales":{"title":"distributionChannel = THALES","required":["distributionChannel","services","encryptedData","shipment","paymentApplication"],"type":"object","properties":{"distributionChannel":{"$ref":"#/components/schemas/distributionChannel"},"consumerId":{"type":"string","description":"Unique identifier of the consumer. <br>\nMandatory for implicit registration.\n","minLength":1,"maxLength":64,"pattern":"[A-Za-z0-9_-]{1,64}"},"cardProductId":{"type":"string","description":"Unique identifier of the type of card ( defined during the onboarding of D1).<br>\nMandatory for implicit registration.\n","minLength":1,"maxLength":48,"pattern":"[A-Za-z0-9_-]{1,48}"},"issuerRequestId":{"type":"string","description":"Identifier provided by issuer to identify the card production request","pattern":"^[a-zA-Z0-9_-]{1,64}$"},"services":{"$ref":"#/components/schemas/services"},"encryptedData":{"$ref":"#/components/schemas/encryptedData"},"cardDesign":{"$ref":"#/components/schemas/cardDesign"},"paymentApplication":{"$ref":"#/components/schemas/paymentApplication"},"cardCarrierConfig":{"$ref":"#/components/schemas/cardCarrierConfig"},"packagingConfig":{"$ref":"#/components/schemas/packagingConfig"},"shipment":{"$ref":"#/components/schemas/shipment"},"state":{"description":"Deprecated. This field is no longer used and will be removed by end of 2026.\n","type":"string","deprecated":true,"enum":["ACTIVE","SUSPENDED"]},"oldCardId":{"type":"string","description":"Deprecated. This field is no longer used and will be removed by end of 2026.\n","deprecated":true,"minLength":1,"maxLength":48,"pattern":"^[A-Za-z0-9_-]{1,48}$"}}},"distributionChannel":{"type":"string","description":"Channel used to personalize the card.\n|Value|Description|\n|-------|-------|\n| THALES  | Thales personalization center |\n| INSTANT | Instant issuance in branch |\n| CENTRAL | Bank or partner center |\n","enum":["THALES","INSTANT","CENTRAL"]},"services":{"required":["issuance"],"properties":{"issuance":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"The type of issuance.<br/>Value must be one of the identifiers configured during onboarding.\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","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"The level of priority agreed for the card production.<br/>Value must be one of the identifiers configured during onboarding.\n"},"delivery":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","default":"NO_SHIPMENT","description":"The shipment method.<br/>Value must be one of the identifiers configured during onboarding.\n"},"packaging":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","default":"NO_PACK","description":"Unique identifier of the packaging.<br/>Value must be one of the identifiers configured during onboarding.\n"},"cardCarrier":{"type":"string","default":"NO_CARRIER","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Unique identifier of the card carrier.<br/>Value must be one of the identifiers configured during onboarding.\n"},"pinMailer":{"type":"boolean","default":false,"description":"Enable the option to send the PIN value to the consumer via post mail. \n"},"alphaCard":{"type":"boolean","default":false,"description":"Enable the option to produce a sample card in the production environment.\n"}}},"encryptedData":{"type":"string","description":"The encrypted **[Card Data](https://docs.payments.thalescloud.io/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/central-issuance-api#encrypted-carddata)**.<br/>\nThis value is encrypted using the JWE encryption (please refer to the [Sensitive Information Encryption](https://app.gitbook.com/o/fwy1mtbRONGA2YDKDBr0/s/WhgSoXgpjZJxLx4cDHB1/integrate-d1-api/d1-connectivity/encrypt-sensitive-data) for more details)\n"},"cardDesign":{"type":"object","properties":{"images":{"description":"List of additional images that can be printed on the card.\n","type":"array","minItems":0,"maxItems":5,"default":[],"items":{"type":"string","pattern":"^[A-Za-z0-9_.-\\\\\\/%\\^?=]{0,64}$"}},"customLines":{"description":"List of additional texts that can be printed on the card.\n","type":"array","minItems":0,"maxItems":10,"default":[],"items":{"type":"string","pattern":"^[\\p{L}\\p{N}@ ,.'_#;:\\/-?=%\\\\\\^+&]{0,256}$"}},"cardImage":{"type":"string","description":"Unique identifier of the AllAboutMe image to be printed onto the card, previously uploaded by end user.\n","pattern":"^[A-Za-z0-9_\\-\\\\\\/.\\^]{0,48}$"},"artworkId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","description":"Unique identifier of the physical card artwork.\n"},"memberId":{"type":"string","description":"MemberId printed onto the card.\n","pattern":"^[A-Za-z0-9_\\\\\\/.-]{1,48}$"}}},"paymentApplication":{"type":"object","required":["config"],"properties":{"config":{"type":"string","description":"The reference to a predefined set of EMV parameters.\n","pattern":"^[a-zA-Z0-9_-]{1,64}$"},"odaKeyIndex":{"type":"string","description":"The index of the Master key to be used for the ODA key certification.","pattern":"^[A-F0-9]{2}$"},"derivationKeyIndex":{"type":"string","description":"The index of the Issuer Master Keys to be used for ICC Keys computation.","pattern":"^[A-F0-9]{2}$"},"pvKeyIndex":{"type":"string","description":"The index of the PIN Verification Key to be used for PVV computation.","pattern":"^[A-F0-9]{2}$"},"cvKeyIndex":{"type":"string","description":"The index of the Card Verification Key to be used for CVV computation.","pattern":"^[A-F0-9]{2}$"}}},"cardCarrierConfig":{"type":"object","properties":{"language":{"description":"The language of the card carrier, based on ISO 639-1 alpha-2 format.\n","type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"},"images":{"description":"List of additional images that can be printed on the card carrier.\n","type":"array","minItems":0,"maxItems":5,"default":[],"items":{"type":"string","pattern":"^[A-Za-z0-9_.-\\\\\\/%\\^?=]{0,64}$"}},"customLines":{"description":"List of additional texts that can be printed on the card carrier.\n","type":"array","minItems":0,"maxItems":10,"default":[],"items":{"type":"string","pattern":"^[\\p{L}\\p{N}@ ,.'_#;:\\/-?=%\\\\\\^+&]{0,256}$"}},"multiCardId":{"description":"All the cards with the same identifier will be grouped on the same card carrier.\n","type":"string","minLength":1,"maxLength":48,"pattern":"^[A-Za-z0-9_-]{1,48}$"},"multiCardOrder":{"description":"Order of the card on the carrier, compared to other cards.\n","type":"string","minLength":1,"maxLength":2,"pattern":"^[0-9]{1,2}$"}}},"packagingConfig":{"type":"object","properties":{"inserts":{"type":"array","minItems":0,"maxItems":10,"items":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,48}$"},"description":"List of inserts. Each insert must be a unique identifier.\n"}}},"shipment":{"oneOf":[{"$ref":"#/components/schemas/shipmentIndividual"},{"$ref":"#/components/schemas/shipmentBulk"}],"discriminator":{"propertyName":"type","mapping":{"INDIVIDUAL":"#/components/schemas/shipmentIndividual","BULK":"#/components/schemas/shipmentBulk"}}},"shipmentIndividual":{"title":"type = INDIVIDUAL","type":"object","required":["type","deliveryAddress"],"properties":{"type":{"type":"string","description":"Option to send the card to the consumer individually or in bulk to an agency.<br/>\nWhen shipment type is ```BULK``` all the cards with the same delivery address, and shipped the same day will be grouped together automatically.\n","enum":["INDIVIDUAL"]},"deliveryAddress":{"description":"The recipient's address.\n","$ref":"#/components/schemas/address"}}},"address":{"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}$"},"line4":{"type":"string","description":"Deprecated. This field is no longer used and will be removed by end of 2026.\n","minLength":1,"maxLength":64,"pattern":"^[\\p{L}\\p{N}\\p{M} ,.'_#;:\\/-]{1,64}$","deprecated":true},"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 postal code or ZIP Code.","minLength":1,"maxLength":10,"pattern":"^[0-9A-Z- ]{1,10}$"},"countryCode":{"type":"string","description":"The country code, based on ISO 3166-1 alpha-2 format","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"},"mobilePhoneNumber":{"type":"object","required":["countryCode","phoneNumber"],"description":"International phone number, used for card shipment contact purpose.","properties":{"countryCode":{"type":"string","description":"The country calling code.","minLength":2,"maxLength":11,"pattern":"^\\+[0-9]{1,10}$"},"phoneNumber":{"type":"string","description":"The local phone number.","minLength":1,"maxLength":14,"pattern":"^[0-9]{1,14}$"}}},"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}$"}}},"shipmentBulk":{"title":"type = BULK","type":"object","required":["type","deliveryAddress"],"properties":{"type":{"type":"string","description":"Option to send the card to the consumer individually or in bulk to an agency.<br/>\nWhen shipment type is ```BULK``` all the cards with the same delivery address, and shipped the same day will be grouped together automatically.\n","enum":["BULK"]},"deliveryAddress":{"description":"The recipient's address.\n","$ref":"#/components/schemas/address"},"individualAddress":{"description":"The consumer address.<br>\nRequired only for ```BULK``` + card carrier required.\n","$ref":"#/components/schemas/address"},"groupId":{"type":"string","minLength":1,"maxLength":64,"description":"First level of grouping when shipment type is ```BULK```.<br/>\nOptional, to be used only if grouping per delivery address is not sufficient.<br/>\nAll the cards with the same groupId will be put together in the same box.<br/>\n"},"orderId":{"type":"string","minLength":1,"maxLength":64,"description":"Second level of grouping when shipment type is ```BULK```.<br/>\nOptional, to be used only if grouping per delivery address is not sufficient.<br/>\nAll the cards with the same orderId will be put together.<br/>\n"}}},"cardRequestInstant":{"title":"distributionChannel = INSTANT","required":["distributionChannel","services","encryptedData","paymentApplication","persoStation"],"type":"object","properties":{"distributionChannel":{"$ref":"#/components/schemas/distributionChannel"},"consumerId":{"$ref":"#/components/schemas/consumerId"},"cardProductId":{"$ref":"#/components/schemas/cardProductId"},"persoStation":{"type":"string","description":"Unique identifier of the station used for card personalization."},"services":{"$ref":"#/components/schemas/services"},"encryptedData":{"$ref":"#/components/schemas/encryptedData"},"cardDesign":{"$ref":"#/components/schemas/cardDesign"},"paymentApplication":{"$ref":"#/components/schemas/paymentApplication"},"cardCarrierConfig":{"$ref":"#/components/schemas/cardCarrierConfig"},"state":{"description":"Deprecated. This field is no longer used and will be removed by end of 2026.\n","type":"string","deprecated":true,"enum":["ACTIVE","SUSPENDED"]},"oldCardId":{"type":"string","description":"Deprecated. This field is no longer used and will be removed by end of 2026.\n","deprecated":true,"minLength":1,"maxLength":48,"pattern":"^[A-Za-z0-9_-]{1,48}$"}}},"consumerId":{"type":"string","description":"Unique identifier of the consumer. ","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]{1,64}$"},"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}$"},"cardRequestCentral":{"title":"distributionChannel = CENTRAL","required":["distributionChannel","services","encryptedData","shipment","paymentApplication"],"type":"object","properties":{"distributionChannel":{"$ref":"#/components/schemas/distributionChannel"},"consumerId":{"$ref":"#/components/schemas/consumerId"},"cardProductId":{"$ref":"#/components/schemas/cardProductId"},"persoCenter":{"type":"string","description":"Unique identifier of the personalization center."},"services":{"$ref":"#/components/schemas/services"},"encryptedData":{"$ref":"#/components/schemas/encryptedData"},"cardDesign":{"$ref":"#/components/schemas/cardDesign"},"paymentApplication":{"$ref":"#/components/schemas/paymentApplication"},"cardCarrierConfig":{"$ref":"#/components/schemas/cardCarrierConfig"},"shipment":{"$ref":"#/components/schemas/shipment"},"state":{"description":"Deprecated. This field is no longer used and will be removed by end of 2026.\n","type":"string","deprecated":true,"enum":["ACTIVE","SUSPENDED"]},"oldCardId":{"type":"string","description":"Deprecated. This field is no longer used and will be removed by end of 2026.\n","deprecated":true,"minLength":1,"maxLength":48,"pattern":"^[A-Za-z0-9_-]{1,48}$"}}},"cardOperationResponse":{"type":"object","description":"Operation information.","properties":{"operationId":{"$ref":"#/components/schemas/operationId"}}},"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":{"BadRequestWithErrorCode":{"description":"Bad request due to invalid URI, headers, parameters, or payload.<br/>\nThe below table defines the possible errors:\n    | errorCode      | error       | Retry Possible | Comments                             |\n    | -------------- | ------------| ----------| -----------------------------------|\n    | -                    | - | no        | General error with no further information provided.   |\n    | FIELD_INVALID_FORMAT | Field in error (first found) | no | A field does not match the expected format specified in the documentation. |\n    | CRYPTO_ERROR         | - | no | Decryption of the provided encrypted data failed. |\n    | FIELD_INVALID_VALUE  | Field in error (first found) | no | A field value is not permitted for the specified field. |\n    | PARSING_ERROR  | Field in error (first found) | no | Encrypted data is not a valid JSON string. |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized":{"description":"Unauthorized request due to missing or invalid access token.\n| errorCode      | error       | Retry Possible | Comments                             |\n| -------------- | ------------| ----------| -----------------------------------|\n| -                        | - | no        | General error with no further information provided.   |\n| AUTHORIZER_UNAUTHORIZED  | Unauthorized message | no | Access token not valid       |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Forbidden":{"description":"Request forbidden by authorization rules or business constraints.\n<br/>\nThe below table defines the possible error:\n  | errorCode      | error       | Retry Possible | Comments                           |\n  | -------------- | ------------| ----------| -----------------------------------|\n  | -              | -           | no        | General error with no further information provided.    |\n  | AUTHORIZER_FORBIDDEN  | not\\_authorized error message | no | The user is not authorized to access the requested resource. |\n  | OPERATION_NOT_ALLOWED | Name of the operation/field that is not allowed in this operation | no | The specified operation or field is not permitted for this card product. |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFound":{"description":"Requested resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError":{"description":"Internal server error while processing the request.\nThe below table defines the possible error:\n|errorCode       | error       | Retry Possible | Comments                           |\n| -------------- | ------------| ----------| -----------------------------------|\n| -                        | - | no        | General error with no further information provided.   |\n| INTERNAL_ERROR | Error details (if any) | no | The server encountered an issue while processing the request.  |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"ServiceUnavailableError":{"description":"The service is temporarily unavailable. You may retry your request later."}}},"paths":{"/issuers/{issuerId}/physicalCards/{cardId}/operations:production":{"post":{"description":"This API is used by the issuer backend to order a single physical card.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cardRequest"}}}},"responses":{"202":{"description":"Successful card order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cardOperationResponse"}}}},"400":{"$ref":"#/components/responses/BadRequestWithErrorCode"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailableError"}},"summary":"Card order","operationId":"producePhysicalCard"}}}}
````

### encrypted cardData

## The cardData object

````json
{"openapi":"3.0.0","info":{"title":"Inbound Physical Card API","version":"2.0"},"components":{"schemas":{"cardData":{"type":"object","required":["pan","exp","name"],"properties":{"cardProductionType":{"type":"string","enum":["MAG_AND_CHIP_CARD"]},"pan":{"description":"The PAN value (Primary Account Number).","type":"string","pattern":"^[0-9]{12,19}$"},"exp":{"description":"The card expiration date in the format ```MMYY```.\n","type":"string","pattern":"^(0[1-9]|1[0-2])([0-9]{2})$"},"name":{"description":"The card holder name printed on the card.\n","type":"string"},"secondName":{"description":"The second line of the name printed on the card. \n","type":"string"},"cvv2":{"type":"string","description":"The card verification value printed on the card.<br/>\nVisa: CVV2 - 3 digits <br/>\nMastercard: CVC2 - 3 digits <br/>\nAmerican Express: CSC - 4 digits\n","pattern":"^\\d{3,4}$"},"pin":{"$ref":"#/components/schemas/pinData"},"icvv":{"description":"The integrated card verification value loaded into the chip.  <br/>\nVisa: iCVV - 3 digits <br/>\nMastercard: iCVC - 3 digits <br/>\nAmerican Express: iCSC - 5 digits\n","type":"string","pattern":"^(?:\\d{3}|\\d{5})$"},"panSequenceNumber":{"description":"The PAN Sequence Number.","type":"string","pattern":"^[0-9]{2}$","minLength":2,"maxLength":2},"effectiveDate":{"description":"The card effective date in the format ```YYYY-MM-DD```.<br />\nDefault value is the card production request date.\n","type":"string","format":"date"},"trackData":{"description":"The raw track data to be encoded on the card.","type":"object","required":["track1","track2"],"properties":{"track1":{"type":"string","description":"Formatted track 1 data<br/>\n```%B<PAN>^<NAME>^<EXP><SERVICE><DISCRETIONARY>?```\n","pattern":"^%B\\d{13,19}\\^[A-Z0-9\\/.\\- ]{2,26}\\^\\d{4}\\d{3}[0-9A-Za-z]{0,39}\\?$"},"track2":{"type":"string","description":"Formatted track 2 data<br/>\n```;<PAN>=<EXP><SERVICE><DISCRETIONARY>?```\n","pattern":"^;\\d{13,19}=\\d{4}\\d{3}\\d{0,20}\\?$"},"track3":{"type":"string","description":"Formatted track 3 data<br/>\n```;<PAN>=<BODY>?```\n","pattern":"^;\\d{13,19}=\\d{0,107}\\?$"}}},"cvv1":{"description":"The card verification value encoded in the magnetic stripe.<br/>\nVisa: CVV1 - 3 digits <br/>\nMastercard: CVC1 - 3 digits <br/>\nAmerican Express: CSC5 - 5 digits \n","type":"string","pattern":"^(?:\\d{3}|\\d{5})$"},"pvv":{"description":"The PIN Verification Value.<br />\n","type":"string","pattern":"^[0-9]{4}$","default":"0000"},"encodedName":{"type":"string","pattern":"^[A-Z0-9/. -]{2,26}$","minLength":2,"maxLength":26,"description":"The card holder name based on ISO-7813, encoded in the magnetic stripe and loaded into the chip.<br />\nExamples :\n| Cardholder Name Format   | Example                                 |\n|--------------------------|-----------------------------------------|\n| LASTNAME/FIRSTNAME       | \"DOE/JANE\" |\n| LASTNAME/FIRSTNAME.TITLE | \"DOE/JANE.MRS\" |\n| with spaces #1           | \"DOE/JANE                  \" |\n| with spaces #2           | \"DOE/JANE.MRS              \" |\n| with numbers             | \"DOE/ JANE 01\" |\n| < empty name >           | \"/.\" |\n"},"paymentAccountReference":{"type":"string","description":"The Payment Account Reference(PAR).<br/> The PAR Data is comprised of a 4 character BIN Controller Identifier assigned by EMVCo to Registered BIN Controllers followed by a unique 25 character value\n","pattern":"^[0-9A-Z]{29}$"},"applications":{"type":"array","minItems":0,"maxItems":10,"items":{"type":"object","$ref":"#/components/schemas/tlvBlock"}}}},"pinData":{"title":"Pin Data","oneOf":[{"$ref":"#/components/schemas/pinblock3DESISO0"},{"$ref":"#/components/schemas/pinblock3DESISO0TK"},{"$ref":"#/components/schemas/pinblockAESISO4"}]},"pinblock3DESISO0":{"title":"ISO0","type":"object","required":["type","encryptedPin","kid"],"properties":{"type":{"type":"string","description":"The type of the PIN Block.","enum":["ISO0"]},"encryptedPin":{"type":"string","minLength":16,"maxLength":16,"description":"The PIN in format ISO0 encrypted under 3DES Key.\n"},"kid":{"type":"string","minLength":1,"maxLength":3,"description":"The version of the 3DES key used to encrypt the PIN.\n"}}},"pinblock3DESISO0TK":{"title":"ISO0TK","type":"object","required":["type","encryptedPin","transportKeyValue","transportKeyKCV","kid"],"properties":{"type":{"type":"string","description":"The type of the PIN Block.","enum":["ISO0TK"]},"encryptedPin":{"type":"string","minLength":16,"maxLength":16,"description":"The PIN in format ISO0 encrypted under a transport key.\n"},"transportKeyValue":{"type":"string","minLength":32,"maxLength":32,"description":"The transport key encrypted under 3DES Key.\n"},"transportKeyKCV":{"type":"string","minLength":6,"maxLength":6,"description":"The transport key KCV (Key Check Value).\n"},"kid":{"type":"string","minLength":1,"maxLength":3,"description":"The version of the 3DES key used to encrypt the KEY.\n"}}},"pinblockAESISO4":{"title":"ISO4","type":"object","required":["type","encryptedPin","kid"],"properties":{"type":{"type":"string","description":"The type of the PIN Block.","enum":["ISO4"]},"encryptedPin":{"type":"string","description":"The PIN in format ISO4 encrypted under AES key.\n","pattern":"^[A-F0-9]{32}$"},"kid":{"type":"string","pattern":"^[0-9]{1,3}$","description":"The version of the key used to encrypt the PIN.\n"}}},"tlvBlock":{"type":"object","required":["kekId","macKey","tlvData","mac"],"properties":{"appletAid":{"type":"string","description":"Application AID","pattern":"^[A-F0-9]{4,32}$"},"appletDataLength":{"type":"string","description":"Application size","pattern":"^[0-9]{1,3}$"},"appletStartCode":{"type":"string","description":"Application start code","pattern":"^[A-F0-9]{4,64}$"},"kekId":{"type":"string","description":"The version of the key used to encrypt the block\n","pattern":"^[0-9]{1,3}$"},"macKey":{"type":"string","description":"The MAC key encrypted under the encryption Key.\n","pattern":"^[A-F0-9]{16,32}$"},"tlvDataLength":{"type":"string","description":"TLV data length","pattern":"^[0-9]{1,4}$"},"tlvData":{"type":"string","description":"TLV data","pattern":"^[A-F0-9]{6,20000}$"},"mac":{"type":"string","description":"MAC of the TLV data","pattern":"^[A-F0-9]{8,8}$"}}}}}}
````

## Get card order status

> This API is used by the issuer backend to get the card order status.

````json
{"openapi":"3.0.0","info":{"title":"Inbound Physical Card API","version":"2.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":{"description":"A JWT generated by the [get token API](https://docs.payments.thalescloud.io/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/oauth2-api#post-oauth2-token).<br/>\nThe server checks the validity of the provided token to control access to this protected resource. \nPlease refer to [Authorization flow](https://docs.payments.thalescloud.io/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/oauth2-api#post-oauth2-token) \nfor more details about the flow and on how to get this JWT.\n","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"ProductionStatusResponse":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/productionStatus"}}}},"BadRequest-2":{"description":"Malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"Unauthorized-2":{"description":"The provided Authorization header is missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"ForbiddenForPhysicalCard":{"description":"Forbidden action, check the state of the linked end user (consumer) or account or card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"NotFoundForPhysicalCard":{"description":"Resource not found, Unknown issuerId or consumerId or accountId or card id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}},"InternalServerError-2":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorGeneric"}}}}},"schemas":{"productionStatus":{"title":"Production Status","description":"The card production status and information","required":["status"],"allOf":[{"type":"object","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```."},"productionRequestDate":{"type":"string","format":"date-time","description":"The date and time of the card production request. It is in the format ```YYYY-MM-DDThh:mm:ssZ``` for the timezone GMT+0."},"productionDate":{"type":"string","format":"date-time","description":"The date the card was produced. It is in the format ```YYYY-MM-DDThh:mm:ssZ``` for the timezone GMT+0."},"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-2"},"services":{"$ref":"#/components/schemas/services-2"},"inputFileName":{"type":"string","minLength":1,"maxLength":256,"description":"Name of the input file in case of hybrid mode."},"cardPackageDetails":{"$ref":"#/components/schemas/cardPackageDetails"},"deliveryAddress":{"$ref":"#/components/schemas/addressInProduceNotification"}}}]},"productionStatusInNotification":{"type":"string","enum":["CARD_PROD_REQUESTED","DATA_PREPARED","CARD_PROD_READY","CARD_PROD_ONGOING","CARD_PROD_DONE","CARD_SHIPPED","CARD_PROD_CANCELED","CARD_PROD_ONHOLD","DATA_EXCEPTION","CARD_PROD_EXCEPTION"],"description":"The current status of card production.\n\n|status code                | description                                                                                                       |\n|---------------------------|-------------------------------------------------------------------------------------------------------------------|\n|CARD_PROD_REQUESTED <br/>*(full api only)* | Card production has been requested via the D1 APIs.                                                           |\n|DATA_PREPARED <br/>*(full api only)* | The data required for production has been successfully prepared.                                                                          |  \n|DATA_EXCEPTION <br/>*(full api only)* | Data preparation has failed for some reason.                                                                                      |\n|CARD_PROD_READY            | The data has arrived at the Personalization Center; the card is ready to be produced.                                                 |\n|CARD_PROD_ONGOING          | Card production has started.                                                                                  |\n|CARD_PROD_DONE <br/>*(instant issuance only)* | The card has been successfully produced.                                                                          |\n|CARD_SHIPPED               | The card has been shipped.|\n|CARD_PROD_CANCELED         | Card production has been canceled by the issuer.                                                   |\n|CARD_PROD_ONHOLD           | Card production has been put on hold.                                                              |\n|CARD_PROD_EXCEPTION <br/>*(instant issuance only)* | Card production failed for some reason.                                                                           |\n"},"shipment-2":{"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\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|DELIVERED|Shipment delivered successfully|DELIVERED|\n|Picked up by the customer|Package picked up by the customer|DELIVERED|\n|Sign by customer|Package delivered to and signed by the customer|DELIVERED|\n|Delivered and received cash on delivery|Package delivered to the customer and cash collected on delivery|DELIVERED|\n|Available for pickup|The package arrived at a pickup point near you and is available for pickup|AVAILABLE_FOR_PICKUP|\n|EXCEPTION|Delivery of the package failed due to some shipping exception|EXCEPTION|\n|Customer moved|Delivery of the package failed as the customer relocated|EXCEPTION|\n|Customer refused delivery|Delivery of the package failed as the recipient refused to take the package due to some reason|EXCEPTION|\n|Delayed (Customs clearance)|Package delayed due to some issues during the customs clearance|EXCEPTION|\n|Delayed (External factors)|Package delayed due to some unforeseen reasons|EXCEPTION|\n|Held for payment|The package being held due to pending payment from the customer's end|EXCEPTION|\n|Incorrect Address|Package not delivered due to incorrect recipient address|EXCEPTION|\n|Pick up missed|Package available for the pickup but not collected by the customer|EXCEPTION|\n|Rejected by carrier|Package rejected by the carrier due to noncompliance with its guidelines|EXCEPTION|\n|Returning to sender|The package is on its way back to the sender|EXCEPTION|\n|Returned to sender|The return package has been successfully received by the sender|EXCEPTION|\n|Shipment damage|Shipment damaged|EXCEPTION|\n|Shipment lost|Delivery of the package failed as it got lost|EXCEPTION|\n|Failed Attempt|The delivery of the package failed due to some reason. Courier usually leaves a notice and will try to deliver again|FAILED_ATTEMPT|\n|Addressee not available|Recipient not available at the given address|FAILED_ATTEMPT|\n|Business Closed|Business is closed at the time of delivery|FAILED_ATTEMPT|\n|In Transit|Shipment on the way|IN_TRANSIT|\n|Acceptance scan|Shipment accepted by the carrier|IN_TRANSIT|\n|Arrival scan|Shipment arrived at a hub or sorting center|IN_TRANSIT|\n|Arrived at the destination country/region|International shipment arrived at the destination country/region|IN_TRANSIT|\n|Customs clearance completed|Customs clearance completed|IN_TRANSIT|\n|Customs clearance started|Package handed over to customs for clearance|IN_TRANSIT|\n|Departure Scan|Package departed from the facility|IN_TRANSIT|\n|Problem resolved|Problem resolved and shipment in transit|IN_TRANSIT|\n|Forwarded to a different delivery address|Shipment forwarded to a different delivery address|IN_TRANSIT|\n|Info Received|The carrier received a request from the shipper and is about to pick up the shipment|INFO_RECEIVED|\n|Out for Delivery|The package is out for delivery|OUT_FOR_DELIVERY|\n|Customer contacted|The customer is contacted before the final delivery|OUT_FOR_DELIVERY|\n|Delivery appointment scheduled|A delivery appointment is scheduled|OUT_FOR_DELIVERY|\n|PENDING|No information available on the carrier website or the tracking number is yet to be tracked|PENDING|\n|Carrier account not connected|It represents the shipments are pending due to no connection with carrier accounts|PENDING|\n|Label created, no updates yet|The order has been processed/packaged, but not scanned at a shipping location yet|PENDING|\n|Wrong carrier|There is no tracking info available because the carrier is wrong|PENDING|\n|No recent updates|There have been no new tracking updates in the last 120 days|PENDING|\n|Unrecognized carrier|AfterShip can’t track this type of shipment as the carrier is unrecognized.|PENDING|\n|Expired|No tracking information of the shipment, from the last 30 days|EXPIRED|\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-2":{"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}$"}}},"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."}}}}},"paths":{"/issuers/{issuerId}/physicalCards/{cardId}/productionStatus":{"get":{"description":"This API is used by the issuer backend to get the card order status.","responses":{"200":{"$ref":"#/components/responses/ProductionStatusResponse"},"400":{"$ref":"#/components/responses/BadRequest-2"},"401":{"$ref":"#/components/responses/Unauthorized-2"},"403":{"$ref":"#/components/responses/ForbiddenForPhysicalCard"},"404":{"$ref":"#/components/responses/NotFoundForPhysicalCard"},"500":{"$ref":"#/components/responses/InternalServerError-2"}},"summary":"Get card order status","operationId":"getPhysicalCardProductionStatus"}}}}
````


---

# 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/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/order-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.
