API v1 Reference
Complete reference for currently registered ISPbills API v1 endpoints
Complete reference for currently registered ISPbills API v1 endpoints
On this page
API v1 supports existing operator clients, maintained mobile applications, iCli, and compatibility integrations. Except for the authentication routes below, requests require an API v1 bearer token.
Base path:
https://app.ispbills.com/api/v1
See Authentication and fundamentals for login, headers, pagination, and error handling.
Public authentication
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/auth/login |
Authenticate an operator with username and password |
POST |
/api/v1/auth/refresh |
Exchange a valid refresh_token for a new token pair |
POST |
/api/v1/auth/social |
Authenticate with a Google or Facebook provider token |
POST |
/api/v1/admin/auth/login |
Authenticate an iAdmin user by Admin ID, email, or mobile number; limited to 10 attempts per minute |
POST |
/api/v1/partner/auth/login |
Authenticate a reseller partner mobile user; limited to 10 attempts per minute |
The iAdmin login body contains username and password. The account must be active, and card-distributor and reseller-partner roles are not accepted by this endpoint. A successful response includes user details and a session_url: this is a short-lived, single-use web-session URL, not a reusable bearer token. It expires after three minutes.
AI and iCli
These routes require an operator account with terminal AI access.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/ai/chat |
Return a complete AI terminal response as JSON |
POST |
/api/v1/ai/chat/stream |
Stream AI response events as server-sent events |
POST |
/api/v1/ai/issue |
Create a configured GitHub issue from iCli |
Chat requests contain a messages array. context is optional:
{
"messages": [
{"role": "user", "content": "Show the safe RouterOS checks for this PPPoE outage"}
],
"context": {
"vendor": "mikrotik",
"host": "router.example.net",
"connected": true
}
}
The streaming route returns text/event-stream frames containing delta, reason_delta, status_delta, and a final done result.
Dashboard and analytics
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/dashboard |
Operator dashboard summary |
GET |
/api/v1/noc/dashboard |
NOC dashboard data |
GET |
/api/v1/analytics |
Operator analytics and reporting data |
Customers
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/customers |
List customers; supports page, per_page, search, and status |
POST |
/api/v1/customers |
Create a customer |
GET |
/api/v1/customers/{id} |
Get customer, recent bills, and live connection information |
PUT |
/api/v1/customers/{id} |
Update authorized profile and MAC-binding fields with a JSON request |
POST |
/api/v1/customers/{id}/action |
Perform a supported customer action such as suspend, reconnect, or renew |
POST |
/api/v1/customers/{id}/disconnect |
Disconnect the customer’s active session |
POST |
/api/v1/customers/{id}/mac-bind |
Update MAC binding |
POST |
/api/v1/customers/{id}/send-sms |
Send an SMS to the customer |
POST |
/api/v1/customers/{id}/collect-payment |
Record a field payment for the customer |
Minimum customer creation fields:
POST /api/v1/customers
Authorization: Bearer YOUR_V1_TOKEN
Accept: application/json
Content-Type: application/json
{
"name": "Rafiq Ahmed",
"username": "rafiq-1042",
"password": "temporary-password",
"mobile": "01712345678",
"connection_type": "PPPoE",
"billing_type": "Monthly"
}
Optional creation fields include email, address fields, nid, company, mac_bind, login_mac_address, latitude, and longitude. Profile and NID images require multipart/form-data.
Billing
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/invoices |
List invoices |
GET |
/api/v1/bills |
List bills |
GET |
/api/v1/subscriptions |
List subscriptions |
GET |
/api/v1/payments |
List payments |
Network devices
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/routers |
List routers/NAS devices visible to the operator |
GET |
/api/v1/olts |
List OLTs visible to the operator |
GET |
/api/v1/device-backup/{token} |
Download the device backup identified by its token |
Monitoring
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/monitoring/ubiquiti |
Ubiquiti device state |
GET |
/api/v1/monitoring/cambium |
Cambium device state |
GET |
/api/v1/monitoring/access-logs |
Device access logs |
GET |
/api/v1/monitoring/onus |
Monitored ONU data |
GET |
/api/v1/monitoring/status-checks |
Infrastructure status checks |
GET |
/api/v1/monitoring/zabbix |
Zabbix monitoring data |
SMS
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/sms/history |
SMS delivery history |
GET |
/api/v1/sms/balance |
Configured SMS gateway balance |
POST |
/api/v1/sms/send |
Send an SMS |
Operators
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/operators |
List operators within the authenticated operator’s scope |
POST |
/api/v1/operators |
Create an operator |
PUT |
/api/v1/operators/{id} |
Update an operator |
POST |
/api/v1/operators/{id}/suspend |
Suspend an operator |
POST |
/api/v1/operators/{id}/fund |
Add operator funds |
Logs
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/logs/activity |
Operator activity log |
GET |
/api/v1/logs/router |
Router log |
GET |
/api/v1/logs/hotspot |
Hotspot authentication log |
GET |
/api/v1/logs/ppp-auth |
PPP authentication log |
GET |
/api/v1/logs/auto-suspension |
Automatic suspension log |
Payment-forwarder administration
These routes expose ingested merchant-SIM payment events to an authenticated operator. Device ingestion uses separate signed device endpoints and is not part of the operator API.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/payment-forwarder/events |
List payment-forwarder events |
POST |
/api/v1/payment-forwarder/events/{event}/recheck |
Re-run matching for an event |
Recharge cards
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/recharge-cards |
List recharge cards |
VPN compatibility routes
The current v1 compatibility routes retain a repeated v1 segment. Use the paths exactly as listed:
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/v1/vpn/accounts |
List VPN accounts |
GET |
/api/v1/v1/vpn/accounts/{account}/config |
Download an account configuration |
API v1 is compatibility-focused. New server integrations should use API v2 where the required resource is available.