# Create a secure view for card details Retrieves the card number, expiry date, and CVV for the card specified in the request URL. The response is encrypted; your customer must decrypt it using a bound device. Please note the following prerequisites: * Your customer's device must have a supported operating system (Android: 4.3 or higher; iOS: iPhone 5 or newer, not jailbroken or rooted). * The customer must have already verified their device using the device binding process. You will need to supply the in this request. > > > You may only make clean PAN details available in the device's Endpoint: POST /v1/cards/{id}/virtual_card_requests Version: 1.0 ## Path parameters: - `id` (string, required) ## Request fields (application/json): - `device_id` (string, required) ID of the customer's bound device. Example: "ZtzhX7M96stcA2LzDpX1Lg8dev" - `signature` (string, required) The device signature obtained during the device binding process. The signature must be generated using the device's Follow these steps to generate the key: 1. Generate the RSA key pair. This results in an . 2. Create a JWK JSON representation of the part of the . This results in a . 3. Generate a single string from the representation of the part of the using the following steps: 1. Sort every key/value pair alphabetically by the 2. Combine the key and value of every key/value pair using as the delimiter, e.g., . 3. Join every key/value pair to a single string using as the delimiter, e.g., . 4. This results in a , whose format resembles this: . 4. Sign the using the device's key. This results in the . Read more about how to create an unrestricted key for use in device binding [here](https://docs.solarisgroup.com/guides/authentication/device-binding/#device-binding). 5. the to get the . Example: "556F4558783743346570744B674D3838454E3444334F627141394E696735726B3946593739356B413353337359767A34756F387977754D2F4658536134327A41394454716D3337616570764335346A477276744579376246514B546C79465A6A7A532F577545722B4946644A4A2F674953784E7A715451765A3077432B39486E6F4B7A36447050725537695657476A626B3057366549746363312F577654742F39594D4B726B7541506E49426B4A74426B737254687867562B3169636155582B432B426F41696A64544A314D773774624F70556F4C686257392F496936773235744472494E33564A6166446E6F634E523438335469595568382B70343946703473395971434872503270395959616B513155795673444635504B45596B75784A2F7A797933334779686732744D5473435238476B7959657648372F31733532472B6C73573048754F597A4C364E324954426B6C666D413D3D0D0A" - `jwk` (object, required) [JSON Web Key (JWK)](https://datatracker.ietf.org/doc/html/rfc7517) data that will be used to encrypt the card details. [Click here to learn more about this algorithm.](https://datatracker.ietf.org/doc/html/rfc7518) Example: {"kty":"RSA","use":"enc","alg":"RS256","kid":"cf8e03cd-0292-47e2-8e26-c167293b9187","n":"ZtzhX7M96stcA2LzDpX1Lmr0Y7tH1JnHvK5BmRQsy5hm1vAneRgictJB7yfW9JcZSpHeDspVkXVXuL3ddO1tVWOs4pln65Iklz5EtYKgoKaVBkUFNP1wDgEDTPhX6dS46/Ua1Z39RPAl21s2gQkzAL8UjC67kwH+FJnzLqBEE57L0eJNOU2VnBVwVob8GM8B6/KTblhr5wUw/o1K2qFXhjpkopz+SV1mqd61I/9H8gvb/clKuwpI+c/jyV0O55Y7vQDBdL37MReuSgHJvYtOnjLSHTNrB+lhNt6kg/MEtfs/e6iX+MV9d4Is5AvkDSXcMg+Im4aiKK4UeKcrSOtTcw==","e":"AQAB"} - `jwk.kty` (string, required) The key type. The only possible value is . Enum: "RSA" - `jwk.n` (string, required) Modulus (for RSA keys) Example: "ZtzhX7M96stcA2LzDpX1Lmr0Y7tH1JnHvK5BmRQsy5hm1vAneRgictJB7yfW9JcZSpHeDspVkXVXuL3ddO1tVWOs4pln65Iklz5EtYKgoKaVBkUFNP1wDgEDTPhX6dS46/Ua1Z39RPAl21s2gQkzAL8UjC67kwH+FJnzLqBEE57L0eJNOU2VnBVwVob8GM8B6/KTblhr5wUw/o1K2qFXhjpkopz+SV1mqd61I/9H8gvb/clKuwpI+c/jyV0O55Y7vQDBdL37MReuSgHJvYtOnjLSHTNrB+lhNt6kg/MEtfs/e6iX+MV9d4Is5AvkDSXcMg+Im4aiKK4UeKcrSOtTcw==" - `jwk.e` (string, required) Exponent (for RSA keys) Example: "AQAB" - `jwk.use` (string) (Optional) The public key use. The only possible value is . Enum: "enc" - `jwk.alg` (string) (Optional) The algorithm to use for encryption. The only possible value is . Enum: "RS256" - `jwk.kid` (string) (Optional) The key ID. Use any unique identifier, such as a UUID. Example: "cf8e03cd-0292-47e2-8e26-c167293b9187" - `jwe` (object, required) [JSON Web Encryption](https://tools.ietf.org/html/rfc7516) attributes. Example: {"alg":"RSA1_5","enc":"A256GCM"} - `jwe.alg` (string, required) Algorithm used for CEK encryption. Possible values: (recommended): Uses SHA-256 for both the and the (mgf1). : Android-specific version of the above, which uses SHA-256 for the and SHA-1 for the (mgf1). Enum: "RSA1_5", "RSA_OAEP_256", "RSA_OAEP_256_ANDROID" - `jwe.enc` (string, required) Encryption algorithm. Enum: "A256GCM", "A256CBC_HS512" - `device_data` (string) Encoded device fingerprint generated using the [Seon SDK](https://seon.io). See the [device monitoring guide](https://docs.solarisgroup.com/guides/kyc/device-monitoring) for more information about generating this value. Example: "Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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" ## Response 200 fields (application/json): - `data` (string) The JWE-encrypted card details. Use one of the following libraries for decryption: [Android](https://connect2id.com/products/nimbus-jose-jwt/examples/jwe-with-preset-cek) [iOS](https://github.com/airsidemobile/JOSESwift#jwe-encryption-and-decryption) Example: "W2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awaW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awaW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awaW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awaW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awaW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awa" ## Response 400 fields (application/json): - `errors` (array) - `errors.id` (string) - `errors.status` (integer) - `errors.code` (string) - `errors.title` (string) - `errors.detail` (string) - `errors.source` (object) - `errors.source.field` (string) - `errors.source.message` (string) ## Response 403 fields (application/json): - `errors` (array) - `errors.id` (string) - `errors.status` (integer) - `errors.code` (string) - `errors.title` (string) - `errors.detail` (string) - `errors.source` (object) - `errors.source.field` (string) - `errors.source.message` (string) ## Response 404 fields (application/json): - `errors` (array) - `errors.id` (string) - `errors.status` (integer) - `errors.code` (string) - `errors.title` (string) - `errors.detail` (string) - `errors.source` (object) - `errors.source.field` (string) - `errors.source.message` (string) ## Response 500 fields (application/json): - `errors` (array) - `errors.id` (string) - `errors.status` (integer) - `errors.code` (string) - `errors.title` (string) - `errors.detail` (string) - `errors.source` (object) - `errors.source.field` (string) - `errors.source.message` (string)