: It maps directly to CLI commands. For example, /ip/address/print in the CLI becomes a GET request to /rest/ip/address .
Ok(())
The MikroTik API transforms a simple router into a programmable network node. Whether you are building a custom billing system or an automated failover script, these examples provide the foundation to stop configuring manually and start scaling.
debug = false; if ($API->connect('192.168.88.1', 'admin', 'YourSecurePassword')) // Fetch all DHCP leases $leases = $API->comm('/ip/dhcp-server/lease/print'); echo " mikrotik api examples
Console.WriteLine($"row["name"] - row["type"]");
# Get the ID of a specific interface interfaces = api(cmd='/interface/print', stats=True) for iface in interfaces: if iface['name'] == 'ether1': # Disable the interface api(cmd='/interface/set', **'.id': iface['.id'], 'disabled': True) break
api = connect(host='192.168.88.1', username='admin', password='password') : It maps directly to CLI commands
Note: For RouterOS 7, it is highly recommended to use the for modern web-based applications, but the legacy Binary API remains functional. 2. MikroTik API Examples with Python
fmt.Printf("%+v\n", interfaces)
- name: Configure IP address on MikroTik community.routeros.api: commands: - /ip/address/add =address=10.0.0.1/24 =interface=ether1 Whether you are building a custom billing system
let result = device.command("/interface/print").await?; println!("Result: :?", result);
/ip/address/print /ip/address/add =address=10.0.0.1/24 =interface=ether1 /ip/address/set =.id=*1 =address=10.0.0.2/24 /ip/address/remove =.id=*1