> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vouchmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify utility bill (manual)

> Verify an electricity meter directly from a meter number and provider.

Verify an electricity meter without uploading a bill. Supply the meter number and the provider code and the meter is verified with the provider. The body is JSON.

## Body

<ParamField body="meterNumber" type="string" required>
  The electricity meter number.
</ParamField>

<ParamField body="provider" type="string" required>
  The provider code. One of `ABUJA`, `KADUNA`, `JOS`, `PH`, `IBADAN`, `IKEJA`, `EKO`, `ENUGU`, `KANO`.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.vouchmark.com/v1/verify-utility-bill/manual \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"meterNumber":"0123456789","provider":"IKEJA"}'
  ```
</RequestExample>

## Response

`billInfo.billDate` is returned empty for manual checks since no bill is read.

<ResponseExample>
  ```json Verified theme={null}
  {
    "success": true,
    "billInfo": {
      "meterNumber": "0123456789",
      "provider": "IKEJA",
      "billDate": ""
    },
    "verificationResult": {
      "status": true,
      "address": "14 Marina Road, Lagos",
      "provider": "IKEJA",
      "meterNumber": "0123456789"
    }
  }
  ```
</ResponseExample>

## Errors

| Status | Body                                                                                                                              | When                       |
| ------ | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `400`  | `{ "success": false, "error": "Request body is empty. Please provide meterNumber and provider." }`                                | The body was empty.        |
| `400`  | `{ "success": false, "error": "meterNumber is required." }`                                                                       | `meterNumber` missing.     |
| `400`  | `{ "success": false, "error": "provider is required." }`                                                                          | `provider` missing.        |
| `400`  | `{ "success": false, "error": "Invalid provider. Valid providers are: ABUJA, KADUNA, JOS, PH, IBADAN, IKEJA, EKO, ENUGU, KANO" }` | `provider` not recognised. |
| `500`  | `{ "success": false, "error": "An error occurred during manual verification." }`                                                  | Unexpected error.          |

Verification is rate limited to 10 attempts per hour per caller.
