netbox
netbox
NetBox DCIM/IPAM API -- sites, racks, devices, interfaces, cables, IP addresses, prefixes, VLANs, VRFs, virtual machines, clusters, circuits, tenants, contacts, and network documentation
Source: NetBox REST API
Coverage
98% (244 of ~250 endpoints)
Focus: DCIM (sites, locations, racks, devices, interfaces, cables, manufacturers, device-types, device-roles, platforms, power), IPAM (prefixes, ip-addresses, vlans, vlan-groups, vrfs, aggregates, rirs, asns, roles, services, ip-ranges, fhrp-groups, fhrp-group-assignments), Virtualization (clusters, cluster-types, cluster-groups, virtual-machines, vm-interfaces, virtual-disks), Tenancy (tenants, tenant-groups, contacts, contact-roles), Circuits (providers, circuits, circuit-types, circuit-terminations), Wireless (wireless-lans, wireless-links), VPN (tunnels, l2vpns), Extras (tags, custom-fields, custom-field-choice-sets, journal-entries, object-changes, config-contexts)
Missing: device component templates, module types/bays, inventory items, power panels/feeds, rack reservations, virtual-chassis, front/rear-ports, console-server-ports, power-outlets, VLAN translations, IKE/IPSec policies, event rules, webhooks, scripts, export templates, users/groups/permissions, bookmarks, notifications
Setup
- Log in to your NetBox instance as an admin user
- Navigate to your user profile (top-right) -> API Tokens
- Click 'Add a token' and configure permissions
- For full access: leave 'Write enabled' checked, no IP restrictions
- Copy the generated token -- it is shown only once (v2 tokens)
- v2 tokens start with 'nbt_' -- enter only the token value, ToolMesh adds the auth header automatically
Environment variable: CREDENTIAL_NETBOX_TOKEN
The url in backends.yaml must include /api (e.g. https://netbox.example.com/api). Enter only the raw token value (e.g. nbt_xxx) -- ToolMesh handles the Authorization header. Swagger docs at /api/schema/swagger-ui/.
Install
Add to your backends.yaml:
- name: netbox
transport: rest
dadl: netbox.dadl
url: "https://netbox.example.com/api"
Set the credential:
CREDENTIAL_NETBOX_TOKEN=your-token-here Tools (207)
GET list_sites List all sites (data centers, offices, PoPs) GET get_site Get a specific site POST create_site Create a new site PATCH update_site Update a site DELETE delete_site Delete a site GET list_regions List all regions (geographic grouping of sites) POST create_region Create a region GET get_region Get a specific region PATCH update_region Update a region DELETE delete_region Delete a region GET list_locations List locations within sites (rooms, floors, cages) POST create_location Create a location within a site GET get_location Get a specific location PATCH update_location Update a location DELETE delete_location Delete a location GET list_racks List all racks GET get_rack Get a specific rack POST create_rack Create a rack PATCH update_rack Update a rack DELETE delete_rack Delete a rack GET list_manufacturers List hardware manufacturers POST create_manufacturer Create a hardware manufacturer GET get_manufacturer Get a specific manufacturer PATCH update_manufacturer Update a manufacturer DELETE delete_manufacturer Delete a manufacturer GET list_device_types List device types (hardware models) POST create_device_type Create a device type (hardware model) GET get_device_type Get a specific device type PATCH update_device_type Update a device type DELETE delete_device_type Delete a device type GET list_device_roles List device roles (server, switch, router, firewall, etc.) POST create_device_role Create a device role GET get_device_role Get a specific device role PATCH update_device_role Update a device role DELETE delete_device_role Delete a device role GET list_platforms List platforms (OS/firmware: Cisco IOS, Junos, Linux, etc.) POST create_platform Create a platform (OS/firmware type) GET get_platform Get a specific platform PATCH update_platform Update a platform DELETE delete_platform Delete a platform GET list_devices List all devices (servers, switches, routers, firewalls, etc.) GET get_device Get a specific device with all details POST create_device Create a new device PATCH update_device Update a device DELETE delete_device Delete a device GET list_interfaces List device interfaces (physical and logical) GET get_interface Get a specific interface POST create_interface Create a device interface PATCH update_interface Update a device interface DELETE delete_interface Delete a device interface GET list_cables List all cables connecting device components GET get_cable Get a specific cable POST create_cable Create a cable connection between device components PATCH update_cable Update a cable DELETE delete_cable Delete a cable GET list_console_ports List device console ports POST create_console_port Create a console port on a device GET list_power_ports List device power ports POST create_power_port Create a power port on a device GET list_mac_addresses List MAC addresses POST create_mac_address Create a MAC address entry GET get_mac_address Get a specific MAC address entry PATCH update_mac_address Update a MAC address entry (reassign to different interface, change description) DELETE delete_mac_address Delete a MAC address entry GET list_prefixes List IP prefixes (subnets) GET get_prefix Get a specific prefix POST create_prefix Create an IP prefix PATCH update_prefix Update a prefix DELETE delete_prefix Delete a prefix GET list_available_ips List available (unallocated) IPs within a prefix GET list_ip_addresses List all IP addresses GET get_ip_address Get a specific IP address POST create_ip_address Create an IP address PATCH update_ip_address Update an IP address DELETE delete_ip_address Delete an IP address GET list_ip_ranges List IP ranges (continuous address ranges, e.g. DHCP pools) POST create_ip_range Create an IP range GET list_vlans List all VLANs GET get_vlan Get a specific VLAN POST create_vlan Create a VLAN PATCH update_vlan Update a VLAN DELETE delete_vlan Delete a VLAN GET list_vlan_groups List VLAN groups POST create_vlan_group Create a VLAN group GET get_vlan_group Get a specific VLAN group PATCH update_vlan_group Update a VLAN group DELETE delete_vlan_group Delete a VLAN group GET list_vrfs List all VRFs (Virtual Routing and Forwarding instances) GET get_vrf Get a specific VRF POST create_vrf Create a VRF PATCH update_vrf Update a VRF DELETE delete_vrf Delete a VRF GET list_rirs List Regional Internet Registries (RIPE, ARIN, etc.) POST create_rir Create a Regional Internet Registry GET list_aggregates List aggregate prefixes (top-level allocations from RIRs) POST create_aggregate Create an aggregate prefix (top-level RIR allocation) GET list_asns List Autonomous System Numbers POST create_asn Create an Autonomous System Number GET list_ipam_roles List IPAM roles for prefixes and VLANs POST create_ipam_role Create an IPAM role for prefixes and VLANs GET list_services List services running on devices or VMs (DNS, HTTP, SSH, etc.). NetBox 4.x uses parent_object filters. POST create_service Create a service entry on a device or VM. NetBox 4.x uses GenericForeignKey: set parent_object_type and parent_object_id instead of device/virtual_machine. GET get_service Get a specific service PATCH update_service Update a service. Use parent_object_type + parent_object_id to reassign (NetBox 4.x GenericForeignKey). DELETE delete_service Delete a service GET list_fhrp_groups List FHRP (First Hop Redundancy Protocol) groups. FHRP groups represent virtual IP failover configurations using VRRP, HSRP, GLBP, or CARP. Each group has a protocol, numeric group_id, and optional name. IP addresses are assigned to groups separately. GET get_fhrp_group Get a specific FHRP group by ID. Returns protocol, group_id, name, auth_type, auth_key, and assigned IP addresses. POST create_fhrp_group Create an FHRP group. Requires protocol and group_id. Virtual IP addresses can be created alongside the group or assigned afterward via IP address objects. PATCH update_fhrp_group Update an FHRP group. DELETE delete_fhrp_group Delete an FHRP group. This also removes all group assignments. GET list_fhrp_group_assignments List FHRP group assignments — links between FHRP groups and device/VM interfaces. Each assignment has a priority (0-255) determining master/primary election. GET get_fhrp_group_assignment Get a specific FHRP group assignment by ID. POST create_fhrp_group_assignment Assign an FHRP group to a device or VM interface. Priority (0-255) determines master/primary election — higher priority = more likely to be elected master. PATCH update_fhrp_group_assignment Update an FHRP group assignment (e.g. change priority or reassign to a different interface). DELETE delete_fhrp_group_assignment Delete an FHRP group assignment — removes the interface from the FHRP group. GET list_cluster_types List cluster types (VMware, Proxmox, XCP-ng, etc.) POST create_cluster_type Create a cluster type (e.g. VMware, Proxmox, Linode, XCP-ng) GET list_cluster_groups List cluster groups POST create_cluster_group Create a cluster group GET get_cluster_group Get a specific cluster group PATCH update_cluster_group Update a cluster group DELETE delete_cluster_group Delete a cluster group GET list_clusters List all virtualization clusters GET get_cluster Get a specific cluster POST create_cluster Create a virtualization cluster PATCH update_cluster Update a cluster DELETE delete_cluster Delete a cluster GET list_virtual_machines List all virtual machines GET get_virtual_machine Get a specific virtual machine POST create_virtual_machine Create a virtual machine PATCH update_virtual_machine Update a virtual machine DELETE delete_virtual_machine Delete a virtual machine GET list_vm_interfaces List virtual machine interfaces POST create_vm_interface Create a VM interface GET get_vm_interface Get a specific VM interface PATCH update_vm_interface Update a VM interface DELETE delete_vm_interface Delete a VM interface GET list_virtual_disks List virtual disks POST create_virtual_disk Create a virtual disk GET list_tenants List all tenants (customers, departments, teams) GET get_tenant Get a specific tenant POST create_tenant Create a tenant PATCH update_tenant Update a tenant DELETE delete_tenant Delete a tenant GET list_tenant_groups List tenant groups POST create_tenant_group Create a tenant group GET get_tenant_group Get a specific tenant group PATCH update_tenant_group Update a tenant group DELETE delete_tenant_group Delete a tenant group GET list_contacts List all contacts POST create_contact Create a contact GET get_contact Get a specific contact PATCH update_contact Update a contact DELETE delete_contact Delete a contact GET list_contact_roles List contact roles (admin, NOC, billing, etc.) POST create_contact_role Create a contact role GET get_contact_role Get a specific contact role PATCH update_contact_role Update a contact role DELETE delete_contact_role Delete a contact role GET list_providers List circuit providers (ISPs, carriers) POST create_provider Create a circuit provider GET get_provider Get a specific provider PATCH update_provider Update a provider DELETE delete_provider Delete a provider GET list_circuit_types List circuit types (Internet, MPLS, dark fiber, etc.) POST create_circuit_type Create a circuit type GET get_circuit_type Get a specific circuit type PATCH update_circuit_type Update a circuit type DELETE delete_circuit_type Delete a circuit type GET list_circuits List all circuits GET get_circuit Get a specific circuit POST create_circuit Create a circuit PATCH update_circuit Update a circuit DELETE delete_circuit Delete a circuit GET list_circuit_terminations List circuit terminations (A-side and Z-side endpoints) POST create_circuit_termination Create a circuit termination (A or Z side) GET get_circuit_termination Get a specific circuit termination PATCH update_circuit_termination Update a circuit termination DELETE delete_circuit_termination Delete a circuit termination GET list_wireless_lans List wireless LANs (SSIDs) POST create_wireless_lan Create a wireless LAN (SSID) GET list_wireless_links List wireless point-to-point links POST create_wireless_link Create a wireless point-to-point link GET list_tunnels List VPN tunnels POST create_tunnel Create a VPN tunnel GET list_l2vpns List L2VPN instances (VPLS, VXLAN, etc.) POST create_l2vpn Create an L2VPN instance GET list_tags List all tags POST create_tag Create a tag GET get_tag Get a specific tag PATCH update_tag Update a tag DELETE delete_tag Delete a tag GET list_custom_fields List all custom field definitions GET get_custom_field Get a specific custom field definition POST create_custom_field Create a custom field definition. Assign to object types via object_types array. PATCH update_custom_field Update a custom field definition DELETE delete_custom_field Delete a custom field definition. WARNING: deletes all stored values. GET list_custom_field_choice_sets List all custom field choice sets GET get_custom_field_choice_set Get a specific custom field choice set POST create_custom_field_choice_set Create a custom field choice set for select/multiselect custom fields PATCH update_custom_field_choice_set Update a custom field choice set DELETE delete_custom_field_choice_set Delete a custom field choice set. WARNING: breaks any custom fields referencing this set. GET list_object_changes List the change log — every create/update/delete on any NetBox object is recorded with timestamp, user, action, and pre/post-change snapshots. Use to audit who changed what and when. GET list_journal_entries List journal entries (change notes on objects) POST create_journal_entry Create a journal entry on an object GET list_config_contexts List configuration contexts (rendered config data for devices/VMs) POST create_config_context Create a configuration context