Verify Electricity Meter

LIVE
Endpoint

Send a POST request with the provider, meter number, and meter type in the request body.

Production URL
https://pairgate.com/api/v1/electricity/verify
Method POST
Test Endpoint
https://pairgate.com/api/v1/test/electricity/verify
Authentication

This request requires a valid Bearer token.

Header Value Description
Authorization
Bearer {token}
Your unique API authorization token
Content-Type
application/json
Required for POST requests
Body Parameters

All parameters are required. Send them as JSON in the request body.

Parameter Type Required Description
provider_id string Yes Provider slug (e.g. ikedc, eko)
meter_number string Yes Meter number (1–20 digits)
meter_type integer Yes Meter type: 1 for prepaid, 2 for postpaid
Meter Types
Value Description
1 Prepaid
2 Postpaid
Code Examples

Choose your preferred language below. Replace the parameters and YOUR_API_KEY with your actual values.

PHP (Laravel)
// Verify Electricity Meter
$response = Http::withHeaders([
    'Authorization' => 'Bearer YOUR_API_KEY',
    'Content-Type' => 'application/json',
])->post('https://pairgate.com/api/v1/electricity/verify', [
    'provider_id' => 'ikedc',
    'meter_number' => '1234567890',
    'meter_type' => 1,
]);

$result = $response->json();

dd($result);
cURL
curl -X POST "https://pairgate.com/api/v1/electricity/verify" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider_id": "ikedc",
    "meter_number": "1234567890",
    "meter_type": 1
  }'
Node.js
const axios = require('axios');

const verifyMeter = async () => {
    try {
        const response = await axios.post(
            'https://pairgate.com/api/v1/electricity/verify',
            {
                provider_id: 'ikedc',
                meter_number: '1234567890',
                meter_type: 1
            },
            {
                headers: {
                    'Authorization': 'Bearer YOUR_API_KEY',
                    'Content-Type': 'application/json'
                }
            }
        );
        
        console.log(response.data);
    } catch (error) {
        console.error(error.response?.data || error.message);
    }
};

verifyMeter();
Python
import requests
import json

url = "https://pairgate.com/api/v1/electricity/verify"

headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

payload = {
    "provider_id": "ikedc",
    "meter_number": "1234567890",
    "meter_type": 1
}

try:
    response = requests.post(url, headers=headers, json=payload)
    response.raise_for_status()
    data = response.json()
    print(json.dumps(data, indent=2))
except requests.exceptions.RequestException as e:
    print(f"Error: {e}")
Java
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

String jsonBody = "{"
    + "\"provider_id\": \"ikedc\","
    + "\"meter_number\": \"1234567890\","
    + "\"meter_type\": 1"
    + "}";

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://pairgate.com/api/v1/electricity/verify"))
    .header("Authorization", "Bearer YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(jsonBody))
    .build();

try {
    HttpResponse response = client.send(request, 
        HttpResponse.BodyHandlers.ofString());
    
    System.out.println(response.body());
} catch (Exception e) {
    System.err.println("Error: " + e.getMessage());
}
Example Request Body
{
  "provider_id": "ikedc",
  "meter_number": "1234567890",
  "meter_type": 1
}
Response Format
Success Response (200)
{
  "code": 200,
  "status": "success",
  "data": {
    "status": true,
    "customer_name": "John Doe"
  }
}
Test Response (200)
{
  "code": 200,
  "status": "success",
  "data": {
    "test_mode": true,
    "message": "This is a test — no API call made.",
    "status": true,
    "customer_name": "Test Customer (Sandbox)"
  }
}
Response Fields
Field Type Description
status boolean true if the meter is valid
customer_name string Name registered on the meter
Error Responses

The following errors may occur when calling this endpoint.

Status Code Description
422 Invalid provider Provider not found or inactive
500 Unknown server Unsupported provider configuration
401 Missing API key No Bearer token provided
401 Invalid API key Token does not match any active key
403 Suspended API key or account has been suspended
429 Rate limited Too many requests