# Visa DCVV2 Generate
Dynamic CVV2 is a digital, e-ink version of CVV2 that changes at regular intervals, providing greater assurance that the card is in possession of the user

## Version: 1

### Servers

| URL | Description |
| --- | ----------- |
| https://sandbox.api.visa.com | Sandbox server |

---
## dCVV2 Management
DCVV2 Enroll

### [POST] /dCVV2/v1/PanDB/Unenroll
**UnEnroll**

#### Request Body

Request Data

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"agentId"**: string, **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"cardAcceptr"**: { **"clientId"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"Dcvv2UnenrollResponse"**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"transctnReslts"**: { **"actionCd"**: string } } }<br> |
| 402 | Application error | **application/json**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"errorResponse"**: { **"status"**: integer }, **"transctnReslts"**: { **"actionCd"**: string } }<br> |
| 403 | Forbidden.  Use this when the clientID does not validate properly.  No JSON payload is returned. The client MUST NOT repeat the request without modifications. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |
| 503 | Invalid message number or message is not yet supported. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |

### [POST] /dCVV2/v1/PanDB/Inquiry
**Inquiry**

#### Request Body

Request Data

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"agentId"**: string, **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"cardAcceptr"**: { **"clientId"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"Dcvv2InquiryResponse"**: { **"agentId"**: string, **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"transctnReslts"**: { **"actionCd"**: string } } }<br> |
| 402 | Application error | **application/json**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"errorResponse"**: { **"status"**: integer }, **"transctnReslts"**: { **"actionCd"**: string } }<br> |
| 403 | Forbidden.  Use this when the clientID does not validate properly.  No JSON payload is returned. The client MUST NOT repeat the request without modifications. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |
| 503 | Invalid message number or message is not yet supported. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |

### [POST] /dCVV2/v1/PanDB/Enroll
**Enroll**

#### Request Body

Request Data

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"agentId"**: string, **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"cardAcceptr"**: { **"clientId"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"Dcvv2EnrollResponse"**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"transctnReslts"**: { **"actionCd"**: string } } }<br> |
| 402 | Application error | **application/json**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"errorResponse"**: { **"status"**: integer }, **"transctnReslts"**: { **"actionCd"**: string } }<br> |
| 403 | Forbidden.  Use this when the clientID does not validate properly.  No JSON payload is returned. The client MUST NOT repeat the request without modifications. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |
| 503 | Invalid message number or message is not yet supported. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |

---
## dCVV2 Generate
dCVV2 Generate

### [POST] /dCVV2/v1/PanDB/dCVV2GenerationRequest
**Generate**

dCVV2GenerationRequest

#### Request Body

Request Data

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer, **"panExpDt"**: string } }, **"itemCount"**: integer, **"cardAcceptr"**: { **"clientId"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"dCVV2GenerationResponse"**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer, **"panExpDt"**: string } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"dCVV2ItemList"**: [ { **"dCVV2GenerationResponse"**: object } ], **"transctnReslts"**: { **"actionCd"**: string } } }<br> |
| 402 | Application error | **application/json**: { **"acctInfo"**: { **"primryAcctNum"**: { **"pan"**: integer, **"panExpDt"**: string } }, **"msgIdentfctn"**: { **"tranId"**: integer }, **"errorResponse"**: { **"status"**: integer }, **"transctnReslts"**: { **"actionCd"**: string } }<br> |
| 403 | Forbidden.  Use this when the clientID does not validate properly. No JSON payload is returned. The client MUST NOT repeat the request without modifications. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |
| 503 | Invalid message number or message is not yet supported. | **application/json**: { **"error"**: { **"code"**: integer, **"message"**: string } }<br> |
