# Generate required data for 3DS Device Data Collection

Allow card issuers to perform Device Data Collection to fingerprint your customer's device.

Endpoint: POST /verifications/customers/3ds/deviceDataInitialize
Version: 2
Security: BasicAuth

## Header parameters:

  - `Content-Type` (string, required)
    Example: "application/vnd.worldpay.verifications.customers-v2.hal+json"

  - `Accept` (string, required)
    Example: "application/vnd.worldpay.verifications.customers-v2.hal+json"

## Request fields (application/vnd.worldpay.verifications.customers-v2.hal+json):

  - `transactionReference` (string, required)
    A unique reference for authentication. For example, e-commerce order code.

  - `merchant` (object, required)
    An object that contains information about the merchant and API level configuration.

  - `merchant.entity` (string, required)
    Used to route the request in Access Worldpay, created as part of on-boarding.

  - `paymentInstrument` (any)

## Response 200 fields (application/vnd.worldpay.verifications.customers-v2.hal+json):

  - `outcome` (string, required)
    Outcome of the device data initialization request

  - `transactionReference` (string, required)
    A unique reference for authentication. For example, e-commerce order code.

  - `deviceDataCollection` (object, required)
    Object containing device data collection related information

  - `deviceDataCollection.jwt` (string, required)
    A digitally signed token that contains additional details required for DDC.

  - `deviceDataCollection.url` (string, required)
    A POST action on the DDC form. Used to redirect to the issuers DDC page.

  - `deviceDataCollection.bin` (string)
    First six digits of the card number (Bank Identification Number), used as part of DDC.

## Response 400 fields (application/vnd.worldpay.verifications.customers-v2.hal+json):

  - `path` (string)
    The request URI path

  - `status` (integer)
    The HTTP status returned from server

  - `message` (string, required)
    The error description message

  - `errorName` (string, required)
    The unique error name

  - `headerName` (string)
    The name of the header containing invalid value

  - `allowedMethods` (array)
    List of HTTP methods that are allowed

  - `validationErrors` (object)
    Object containing details of validation errors occurred

  - `validationErrors.errorName` (string, required)
    Unique name of the validation error

  - `validationErrors.jsonPath` (string, required)
    Location of the field in request body for which the error occurred

  - `validationErrors.message` (string, required)
    Error description message

## Response 502 fields (application/vnd.worldpay.verifications.customers-v2.hal+json):

  - `path` (string)
    The request URI path

  - `status` (integer)
    The HTTP status returned from server

  - `message` (string, required)
    The error description message

  - `errorName` (string, required)
    The unique error name

## Response 503 fields (application/vnd.worldpay.verifications.customers-v2.hal+json):

  - `path` (string)
    The request URI path

  - `status` (integer)
    The HTTP status returned from server

  - `message` (string, required)
    The error description message

  - `errorName` (string, required)
    The unique error name


