# Validate an ASIC/MSIC Card

`POST /dvs/asic`

- Live: `POST https://gdapi.globaldata.net.au/api/v2/dvs/asic`
- Sandbox: `POST https://sandbox-gdapi.globaldata.net.au/api/v2/dvs/asic`

Validates a ASIC/MSIC card against the Australian Document Verification Service (DVS).

## Sandbox environment

When simulating queries in the sandbox environment, a specific set of ASIC cards will return a
specific result. The response will be determined by the card number:

[DVS sandbox responses for this document](/docs/guides/dvs/sandbox-responses#dvs-asicmsic)

## Request body

The ASIC or MSIC card details to validate

| Field | Type | Description |
|-------|------|-------------|
| `preflight` | boolean | When set to true, the request will only perform a preflight check to validate the input parameters. No actual verification will be performed. Example: `false` |
| `consent` | boolean | The individual's consent to perform the check Example: `true` |
| `full_name` | string | The full name of the document holder Example: `John Smith` |
| `birth_date` | string (date) | The date of birth of the document holder Example: `1980-01-01` |
| `card_number` | string | The card number on the card to be validated Example: `ABC123456` |
| `card_expiry` | string | The expiry date of the card to be validated Pattern: `^[0-9]{4}-[0-9]{2}$` Example: `2024-02` |
| `card_type` | string | The type of card to be validated Enum: `ASIC`, `MSIC` Example: `ASIC` |

**Sample request**

```json
{
    "preflight": false,
    "consent": true,
    "full_name": "John Smith",
    "birth_date": "1980-01-01",
    "card_number": "ABC123456",
    "card_expiry": "2024-02",
    "card_type": "ASIC"
}
```

## Responses

### 200 Result of the document verification check

Content type: `application/json`

| Field | Type | Description |
|-------|------|-------------|
| `message` | string | A message indicating the result of the request. This will be `Ok` if the request was successful. Example: `Ok` |
| `function` | string | The function that was called Example: `dvs_asic` |
| `api_reference` | string (uuid) | A unique identifier for this request. This can be used to track the request in the logs. Example: `fe4291ca-d831-4760-96df-c9cb03b3cd95` |
| `data` | object | The check data |
| `data.response_type` | string | The type of response Example: `AsicMsicResponse` |
| `data.activity_id` | string | A reference ID for this activity. This ID can be used to track the activity in the logs. Example: `sandbox-d06ed58a-b279-4f50-9b6e-5a0a26b4e87d` |
| `data.verification_request_number` | string | A unique reference number for this request Example: `dec306ed-7cff-41c0-b02f-889e430f5309` |
| `data.verification_result_code` | string | The result of the verification * `Y` - The document is valid * `N` - The document was not matched * `D` - The document is invalid or not electronically captured * `S` - An error occurred during the check Enum: `Y`, `N`, `S`, `D` Example: `N` |
| `data.additional_information` | array of objects | An array of expanded responses returned from the DVSHub or Document Issuer for N or D results |
| `data.additional_information[].message` | string | A message indicating the reason for the N or D result. Example: `Name on Card does not match` |
| `data.additional_information[].code` | string | A code number associated with the corresponding message. Example: `SI-001` |

**Sample response**

```json
{
    "message": "Ok",
    "function": "dvs_asic",
    "api_reference": "fe4291ca-d831-4760-96df-c9cb03b3cd95",
    "data": {
        "response_type": "AsicMsicResponse",
        "activity_id": "sandbox-d06ed58a-b279-4f50-9b6e-5a0a26b4e87d",
        "verification_request_number": "dec306ed-7cff-41c0-b02f-889e430f5309",
        "verification_result_code": "N",
        "additional_information": [
            {
                "message": "Name on Card does not match",
                "code": "SI-001"
            }
        ]
    }
}
```

### 202 A successful preflight check. A 400 will be returned if the preflight check fails.

Content type: `application/json`

| Field | Type | Description |
|-------|------|-------------|
| `message` | string | A message indicating the result of the request. This will be `Ok` if the request was successful. Example: `Ok` |
| `function` | string | The function that was called Example: `dvs_aec` |
| `api_reference` | string (uuid) | A unique identifier for this request. This can be used to track the request in the logs. Example: `fe4291ca-d831-4760-96df-c9cb03b3cd95` |
| `data` | null | For preflight checks this is null |

**Sample response**

```json
{
    "message": "Ok",
    "function": "dvs_aec",
    "api_reference": "fe4291ca-d831-4760-96df-c9cb03b3cd95",
    "data": null
}
```

Standard error responses: 400, 401, 402, 403, 429, 503, 5XX (see [Common error responses](/docs/reference/general/common-error-responses.md))

