Appearance
API Overview
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://api.iimmpact.com/v2 |
| Staging | https://staging.iimmpact.com/v2 |
Rate Limits
| Limit | Threshold | Consequence |
|---|---|---|
| API Requests | 30,000 per 5-minute interval, per IP | IP blocked for 240 minutes (HTTP 403) |
| Integration Timeout | 29 seconds max | HTTP 504 Timeout |
WARNING
If your IP is blocked due to exceeding the rate limit, you must wait the full 240 minutes before access is restored.
IP Restrictions
By default, the IIMMPACT API allows requests from any IP address, providing flexibility for various integration scenarios.
For added security, you can restrict API access to a specific list of allowed IP addresses via the Dashboard. See the IP Allowlist Guide for setup instructions.
Response Conventions
Timestamps
All timestamps in API responses are in GMT+8 (Malaysia Time). The format varies by endpoint:
| Format | Used by |
|---|---|
dd-MM-yyyy HH:mm:ss | Network Status, Bill Presentment, Callback URL, Low Balance (GET) |
yyyy-MM-dd HH:mm:ss | Make Payment, Low Balance (POST) |
yyyy-MM-dd HH:mm:ss.fff | Transaction History, Balance Statement |
Metadata Wrapper
Most endpoints return metadata using one of two keys:
metadata— used by Network Status, Bill Presentment@metadata— used by Callback URL, Low Balance Threshold
This is a legacy inconsistency maintained for backward compatibility.
Response Format Reference
Timestamp Formats by Endpoint
| Endpoint | Timestamp Field | Format | Example |
|---|---|---|---|
POST /v2/topup | timestamp | yyyy-MM-dd HH:mm:ss | 2025-01-15 14:30:45 |
GET /v2/transactions | date, response_date | yyyy-MM-dd HH:mm:ss.fff | 2025-01-15 14:30:45.123 |
GET /v2/balance-statement | date | yyyy-MM-dd HH:mm:ss.fff | 2025-01-15 14:30:45.123 |
GET /v2/networkstatus | last_updated | dd-MM-yyyy HH:mm:ss | 15-01-2025 14:30:45 |
GET /v2/bill-presentment | last_updated | dd-MM-yyyy HH:mm:ss | 15-01-2025 14:30:45 |
GET /v2/callback-url | last_updated | dd-MM-yyyy HH:mm:ss | 15-01-2025 14:30:45 |
POST /v2/callback-url | last_updated | dd-MM-yyyy HH:mm:ss | 15-01-2025 14:30:45 |
POST /v2/low-balance-threshold | last_updated | yyyy-MM-dd HH:mm:ss | 2025-01-15 14:30:45 |
| Callback (POST) | timestamp | yyyy-MM-dd HH:mm:ss | 2025-01-15 14:30:45 |
| Callback (GET) | within message JSON | yyyy-MM-dd HH:mm:ss.fff | 2025-01-15 14:30:45.710 |
GET /v2/catalog | last_updated | ISO 8601 | 2025-01-07T00:00:00Z |
All timestamps are in GMT+8 (Malaysia Time) unless otherwise specified. The Catalog API uses ISO 8601 (UTC).
Metadata Key by Endpoint
| Endpoint | Metadata Key |
|---|---|
GET /v2/networkstatus | metadata |
GET /v2/bill-presentment | metadata |
GET /v2/callback-url | @metadata |
POST /v2/callback-url | @metadata |
POST /v2/low-balance-threshold | @metadata |
GET /v2/balance | None |
GET /v2/transactions | meta (pagination + summary data) |
GET /v2/balance-statement | None (uses meta for pagination) |
The @metadata prefix is a legacy naming convention used by some endpoints. Both metadata and @metadata contain the same type of information (status code and timestamp).
Endpoint Quick Reference
| Method | Path | Documentation |
|---|---|---|
| GET | /v2/catalog | Catalog API |
| GET | /v2/options | Options API |
| GET | /v2/product-list | Product Listing (deprecated) |
| GET | /v2/subproducts | Sub Products |
| GET | /v2/networkstatus | Network Status |
| GET | /v2/bill-presentment | Bill Presentment |
| POST | /v2/topup | Make Payment |
| POST | /v2/transactions/check | Dispute Transaction |
| POST | /v2/transactions/void | Void Transaction |
| GET | /v2/transactions | Transaction History |
| GET | /v2/balance | Balance |
| POST | /v2/low-balance-threshold | Low Balance Alert |
| GET | /v2/balance-statement | Balance Statement |
| GET | /v2/callback-url | Get Callback URL |
| POST | /v2/callback-url | Set Callback URL |
