API Reference

RESTful API for managing subscribers, billing, OLT devices, IPAM, and network operations. All endpoints require authentication via Bearer token.

Authentication

Authorization: Bearer <access_token>

# Obtain tokens via wenme.net OIDC (OAuth 2.1 + PKCE)

# All requests must include the X-Tenant-ID header

X-Tenant-ID: <your_tenant_id>

Subscribers

Base: /api/v1/subscribers

GET

/api/v1/subscribers/

List all subscribers with pagination and filters

POST

/api/v1/subscribers/

Create a new subscriber

GET

/api/v1/subscribers/{id}

Get subscriber details by ID

PATCH

/api/v1/subscribers/{id}

Update subscriber details

DELETE

/api/v1/subscribers/{id}

Deactivate a subscriber

POST

/api/v1/subscribers/{id}/activate

Activate a subscriber connection

POST

/api/v1/subscribers/{id}/suspend

Suspend a subscriber connection

Billing

Base: /api/v1/billing

GET

/api/v1/billing/invoices

List invoices with filters

POST

/api/v1/billing/invoices/generate

Generate invoices for billing cycle

GET

/api/v1/billing/invoices/{id}

Get invoice details

POST

/api/v1/billing/payments

Record a payment

GET

/api/v1/billing/payments

List payment history

OLT Management

Base: /api/v1/hardware

POST

/api/v1/hardware/olt/sync

Sync OLT system info and ONU list

POST

/api/v1/hardware/olt/discover

Full ONU discovery with signal levels

POST

/api/v1/hardware/olt/onu/status

Get single ONU operational status

POST

/api/v1/hardware/olt/onu/signal

Get ONU Rx/Tx power levels

POST

/api/v1/hardware/olt/pon/stats

Get PON port traffic counters

POST

/api/v1/hardware/olt/onu/authorize

Provision a new ONU

POST

/api/v1/hardware/olt/onu/unauthorize

De-provision an ONU

IPAM

Base: /api/v1/ipam

GET

/api/v1/ipam/pools

List IP address pools

POST

/api/v1/ipam/pools

Create an IP pool

GET

/api/v1/ipam/subnets

List subnets

POST

/api/v1/ipam/allocate

Allocate an IP address

POST

/api/v1/ipam/release

Release an IP address

GET

/api/v1/ipam/vrfs

List VRFs

AAA / RADIUS

Base: /api/v1/aaa

GET

/api/v1/aaa/sessions

List active RADIUS sessions

POST

/api/v1/aaa/coa

Send Change of Authorization

POST

/api/v1/aaa/disconnect

Disconnect a session

GET

/api/v1/aaa/policies

List bandwidth policies

POST

/api/v1/aaa/policies

Create a bandwidth policy

Support

Base: /api/v1/support

GET

/api/v1/support/tickets

List support tickets

POST

/api/v1/support/tickets

Create a support ticket

PATCH

/api/v1/support/tickets/{id}

Update ticket status

POST

/api/v1/support/tickets/{id}/comments

Add a comment to a ticket

Example Request

# Discover all ONUs on an OLT

curl -X POST https://app.ispchamp.com/api/v1/hardware/olt/discover \

-H "Authorization: Bearer $TOKEN" \

-H "Content-Type: application/json" \

-d '{"ip":"10.0.0.1","community":"public","vendor":"huawei"}'

# Response

{

"status": "success",

"onus": [

{ "index": "0/1/0/1", "serial": "HWTC12345678", "rx_power_dbm": -19.5 }

]

}