Veloxiom API Reference

Complete REST API documentation for the Veloxiom ISP Management Platform. Manage customers, billing, network, and integrations programmatically.

API Sections


🔐 Authentication

All API requests must include a valid API key. Generate keys from Settings → API Keys in the Veloxiom panel.

# Bearer token authentication Authorization: Bearer YOUR_API_KEY # Base URL https://{your-domain}/mikrotik/process.php

The API uses action-based routing via POST parameters. All requests should be POST with form-encoded data including an action parameter.

# Example request curl -X POST https://panel.veloxiom.com/mikrotik/process.php \ -H "Authorization: Bearer YOUR_API_KEY" \ -d "action=get_routers"

2FA (Two-Factor Authentication)

POST
action=start_2fa_enroll
Initiate TOTP 2FA enrollment — returns QR code and secret
POST
action=finish_2fa_enroll
Complete 2FA enrollment with verification code
POST
action=disable_own_2fa
Disable 2FA for current admin account
POST
action=reset_admin_2fa
Reset 2FA for another admin (requires admin password)

👥 Customers / Subscribers

Manage ISP subscribers — create, edit, delete, and control service status.

POST
action=add
Create a new customer/subscriber with PPPoE/DHCP credentials, service plan, and contact details
POST
action=edit
Update existing customer details — username, plan, speed, contact info, custom fields
POST
action=delete
Delete a customer and associated RADIUS/MikroTik entries
POST
action=toggle_status
Enable/disable a customer service (suspend/unsuspend)
POST
action=save_billing_customer
Save billing-specific settings for a customer (billing cycle, tax info, payment method)
POST
action=aade_lookup
Lookup customer tax info from AADE (Greek Tax Authority) by VAT number

Customer Parameters

ParameterTypeDescription
usernamestringPPPoE/DHCP username (unique)
passwordstringPPPoE password
fullnamestringCustomer full name
emailstringEmail address
phonestringPhone number
planstringService plan name
addressstringInstallation address
afmstringVAT number (ΑΦΜ) for billing
static_ipstringStatic IP assignment (optional)
mac_addressstringMAC address for DHCP binding

📋 Service Plans

Create and manage internet service plans with speed profiles, pricing, and FUP policies.

POST
action=add_plan
Create a new service plan with speed limits, price, and MikroTik queue parameters
POST
action=edit_plan
Update an existing service plan
POST
action=delete_plan
Delete a service plan (fails if customers are assigned)

Plan Parameters

ParameterTypeDescription
namestringPlan name (e.g. 'FTTH 100Mbps')
downloadstringDownload speed (e.g. '100M')
uploadstringUpload speed (e.g. '10M')
pricefloatMonthly price (EUR)
burst_limitstringMikroTik burst limit
burst_thresholdstringBurst threshold
burst_timestringBurst time duration
priorityintQueue priority (1-8)

💰 Billing & Invoicing

Automated billing engine with invoice generation, status tracking, and batch operations.

POST
action=save_billing_settings
Configure global billing settings — tax rates, billing cycles, invoice numbering, company details
POST
action=generate_invoices_month
Generate invoices for all customers in a billing month
POST
action=create_invoice_manual
Create a manual/ad-hoc invoice for a specific customer
POST
action=invoice_set_status
Update invoice status (paid, unpaid, cancelled, overdue)
POST
action=delete_invoice
Delete an invoice (restricted for submitted e-invoices)

💳 Payments

Process payments via multiple gateways — DIAS interbank, Revolut, Stripe, Viva Wallet, PayPal.

POST
action=pay_invoice
Process payment for a specific invoice
POST
action=customer_bulk_pay
Bulk payment — pay all outstanding invoices for a customer
POST
action=manual_retry_charge
Retry a failed automatic payment charge

Supported Payment Gateways

GatewayTypeDescription
DIASbankGreek interbank payment system (RF codes)
RevolutonlineOnline card payments via Revolut Business
StripeonlineInternational card & subscription payments
Viva WalletonlineGreek/EU card payments
PayPalonlinePayPal payments

📄 e-Invoicing (AADE / myDATA)

Submit invoices electronically to AADE myDATA. Supports multiple e-invoicing providers.

POST
action=einvoice_submit
Submit invoice to AADE myDATA via configured provider
GET
action=einvoice_status
Check submission status (MARK, UID, validation errors)

Supported e-Invoicing Providers

ProviderStatusDescription
myDATA (AADE)activeDirect AADE API submission
ElorusactiveElorus ERP & e-invoicing platform
IMPACTcoming soonIMPACT e-invoicing provider
Primer (Cosmos)coming soonPrimer/Cosmos e-invoicing
Retail@Linkcoming soonRetail@Link e-invoicing
Edpsoftcoming soonEdpsoft e-invoicing

📡 RADIUS / PPPoE / DHCP

FreeRADIUS integration for PPPoE and DHCP authentication, CoA (Change of Authorization), and session management.

GET
action=radius_sessions
List all active RADIUS sessions with traffic stats
POST
action=radius_disconnect
Disconnect a RADIUS session (send CoA Disconnect-Request)
POST
action=radius_coa
Send CoA to update speed/attributes without disconnect

🔧 MikroTik Routers

Manage MikroTik RouterOS devices — add, configure, monitor, and execute API commands.

GET
action=get_routers
List all configured routers with connection status
GET
action=list_routers_ui
Router list with extended UI metadata (uptime, version, CPU, RAM)
POST
action=add_router
Add a new MikroTik router (IP, API credentials, RADIUS secret)
POST
action=edit_router
Update router configuration
POST
action=delete_router
Remove a router and clean up RADIUS/firewall rules
POST
action=switch_router
Switch active router context (for multi-router setups)

Router Parameters

ParameterTypeDescription
ipstringRouter management IP address
namestringRouter display name
userstringRouterOS API username
passstringRouterOS API password
radius_ipstringRADIUS NAS IP (defaults to management IP)
radius_secretstringRADIUS shared secret

🌐 Network Settings

POST
action=save_network_settings
Configure IP pools, VLAN settings, OSPF, VPLS, and routing parameters

🗺️ Topology & Maps

Network topology visualization with 2D/3D maps. Supports multiple monitoring backends.

POST
action=save_topology_metrics_source
Configure topology data source — LibreNMS, Observium, Zabbix, or MikroTik direct

Supported Monitoring Backends

BackendProtocolDescription
LibreNMSREST APIOpen-source network monitoring
ObserviumREST APINetwork monitoring platform
ZabbixJSON-RPCEnterprise monitoring solution
MikroTikRouterOS APIDirect router SNMP/API polling

📦 Device Inventory (IPAM)

IP Address Management and network device inventory with approval workflows.

POST
action=save_inventory_node
Add or update an inventory node (name, IP, type, location, notes)
POST
action=approve_inventory_node
Approve a pending inventory node
POST
action=approve_inventory_all
Bulk approve all pending inventory nodes
POST
action=delete_inventory_node
Delete a single inventory node
POST
action=delete_inventory_bulk
Bulk delete inventory nodes (all_pending, all_approved, or all)

📊 SNMP Monitoring

Real-time network monitoring via SNMP. Collect bandwidth, latency, and interface metrics from routers and switches.

GET
action=snmp_collect
Trigger SNMP data collection cycle for all monitored devices
GET
action=router_health
Get router health metrics — CPU, memory, temperature, disk, uptime

📞 VoIP / Telephony (MOR)

MOR/M2 telephony integration — SIP trunk management, CDR records, tariffs, balance management, and VoIP billing.

GET
action=mor_balance
Get VoIP account balance and credit info
GET
action=mor_cdr
Retrieve Call Detail Records with filters (date, number, duration)
GET
action=mor_tariffs
List available VoIP tariff plans
POST
action=mor_topup
Add credit/balance to a VoIP account
POST
action=mor_provisioning
Provision new SIP accounts and assign DID numbers

🔒 WireGuard VPN

POST
action=wireguard_provision
Provision WireGuard VPN tunnel — generate keys, configure peer on MikroTik

🎫 Helpdesk / Tickets

Customer support ticket system with assignment, priorities, and status tracking.

POST
action=ticket_close
Close a support ticket
POST
action=ticket_status
Update ticket status (open, in_progress, waiting, resolved)
POST
action=ticket_assign
Assign ticket to admin/staff member
POST
action=ticket_priority
Set ticket priority (low, normal, high, urgent)
POST
action=ticket_delete
Delete a support ticket

🤖 AI Assistant

POST
action=save_ai_settings
Configure AI assistant — model selection (GPT-4o, GPT-4o-mini), API key, behavior

🔔 Notifications

Multi-channel notification system — Telegram, Email, Push notifications.

POST
action=send_notification
Send notification via configured channels (Telegram, Email, Push)

👤 Admin Management

POST
action=add_web_admin
Create a new admin account with role-based permissions
POST
action=edit_web_admin
Update admin account (password, permissions, role)
POST
action=delete_web_admin
Delete admin account (cannot delete primary admin)

🏢 Multi-Tenant

Multi-tenant architecture — each tenant is an isolated ISP instance with its own database, domain, branding, and configuration.

POST
action=tenant_provision
Provision a new tenant — create database, configure domain, set branding

⚙️ System Settings

POST
action=save_settings
Save general system settings — company info, logo, favicon, timezone, language, theme

🔗 Webhooks

Receive real-time notifications when events occur in Veloxiom. Configure webhook URLs in Settings.

Available Events

EventDescription
customer.createdNew customer registered
customer.suspendedCustomer service suspended
invoice.generatedInvoice created
invoice.paidInvoice payment received
payment.failedPayment attempt failed
ticket.createdNew support ticket opened
router.offlineRouter went offline
einvoice.submittede-Invoice submitted to AADE

🏗️ ERP Integrations

Connect Veloxiom with your ERP system for synchronized billing, customer data, and financial reporting.

ERPStatusIntegration Type
ElorusactiveFull sync — invoices, customers, payments
SoftOnecoming soonREST API integration
Epsilon Netcoming soonREST API integration
Entersoftcoming soonREST API integration
Galaxy / Realcoming soonREST API integration

📨 Response Format

All API responses return JSON. Successful operations include ok: true.

// Success response { "ok": true, "data": { ... } } // Error response { "ok": false, "error": "missing_username" }

⏱️ Rate Limits

ScopeLimitWindow
API Key100 requestsper minute
Billing operations10 requestsper minute
Bulk operations5 requestsper minute

Need Help?

For API support and custom integration assistance, contact us via the contact form.