Skip to content

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

Credits: Dunkel Cloud GmbH -- maintainer Updated: 2026-04-13

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

Last reviewed: 2026-04-16

Setup

  1. Log in to your NetBox instance as an admin user
  2. Navigate to your user profile (top-right) -> API Tokens
  3. Click 'Add a token' and configure permissions
  4. For full access: leave 'Write enabled' checked, no IP restrictions
  5. Copy the generated token -- it is shown only once (v2 tokens)
  6. v2 tokens start with 'nbt_' -- enter only the token value, ToolMesh adds the auth header automatically

Environment variable: CREDENTIAL_NETBOX_TOKEN

Authentication docs ↗

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