> For the complete documentation index, see [llms.txt](https://docs.digiledge.in/untitled/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digiledge.in/untitled/bbps/bbps-agent-integration/validate-and-pay/bill-validate-api.md).

# Bill validate api

Endpoint:\
Request: POST /couapp/bills/validate

#### Request body

<table><thead><tr><th width="243">Parent Property/Element</th><th width="235">Property/Element Name</th><th width="124">Mandatory</th><th width="157">Data Type</th><th width="232">Description</th></tr></thead><tbody><tr><td>[ROOT](No parent property / element)</td><td>tenantId</td><td>M</td><td>Alphanumeric</td><td>Fixed Length – 4</td></tr><tr><td></td><td>billerId</td><td>M</td><td>Alphanumeric</td><td>Unique ID assigned to the Biller by NPCI Eg: BSNL00000NATHL</td></tr><tr><td></td><td>billerName</td><td>M</td><td>String</td><td>Name of the biller</td></tr><tr><td></td><td>billerCategory</td><td>M</td><td>String</td><td>Category of biler</td></tr><tr><td></td><td>macAdress</td><td>C</td><td>Alphanumeric</td><td>MAC Address of the Agent Server</td></tr><tr><td></td><td>customerMobNo</td><td>M</td><td>String</td><td>Mobile of the Customer, on whose behalf the Agent is paying the Bill</td></tr><tr><td></td><td>clientReqId</td><td>C</td><td>String</td><td>A unique id which the client has to provide</td></tr><tr><td></td><td>customerParamsRequest</td><td>M</td><td>Object</td><td>Unique parameters used for identifying a Customer Bill</td></tr><tr><td>customerParamsRequest</td><td>tags</td><td>M</td><td>List</td><td>List of customer params</td></tr><tr><td>tags</td><td>name</td><td>M</td><td>String</td><td>Name of customer param</td></tr><tr><td></td><td>value</td><td>M</td><td>String</td><td>Value of customer param</td></tr></tbody></table>

```json
{
    "billerCategory": "Mobile Prepaid",
    "billerId": "FE1112000NAT01",
    "billerName": "Prepaid Biller1",
    "customerMobNo": "8281970523",
    "clientReqId": "",
    "customerParamsRequest": {
        "tags": [
            {
                "name": "Mobile Number",
                "value": "8900000010"
            },
            {
                "name": "Circle",
                "value": "circle10"
            }
        ]
    },
    "macAdress": null
}
```

#### Response body

<table><thead><tr><th width="247">Parent Property/Element</th><th width="219">Property/Element Name</th><th width="140">Mandatory</th><th width="141">Data type</th><th width="294">Description</th></tr></thead><tbody><tr><td>[ROOT] (No parent property / element)</td><td>billId</td><td>C</td><td>UUID</td><td>Machine-generated Unique ID for a Bill, used internally</td></tr><tr><td></td><td>refId</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>billerId</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>status</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>actionType</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>billerResponse</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>additionalInfo</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>customerParams</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>planInfoDaos</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>creationDate</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>modifiedDate</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>createdEpochDate</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td></td><td>modifiedEpochDate</td><td>C</td><td>String</td><td>Will be null</td></tr><tr><td>generalResp</td><td>statusCode</td><td>M</td><td>Numeric</td><td>200- SUCCESS Other than 200-Failure</td></tr><tr><td></td><td>status</td><td>M</td><td>String</td><td>It is either “Success” or failure</td></tr><tr><td></td><td>message</td><td>M</td><td>String</td><td>Contains the reason message for failure / success</td></tr><tr><td></td><td>remarks</td><td>C</td><td>String</td><td>Remarks</td></tr></tbody></table>

```json
{
    "genericResponse": {
        "statusCode": "200",
        "status": "success",
        "message": "Bill Validate Initiated",
        "remarks": ""
    },
    "billId": "c9670952-ebd7-487a-b6ea-49f2b4d4a718",
    "refId": null,
    "billerId": null,
    "status": null,
    "actionType": null,
    "userId": null,
    "billerResponse": null,
    "additionalInfo": null,
    "customerParams": null,
    "planInfoDaos": null,
    "creationDate": null,
    "modifiedDate": null,
    "createdEpochDate": 0,
    "modifiedEpochDate": 0
}
```
