NetBox MCP Server — 608 tools via DADL
NetBox DCIM/IPAM API -- full v4 coverage: sites, racks, devices, modules, interfaces, cables, power, IPAM (prefixes, IPs, VLANs, VRFs, route-targets, VLAN translation), virtualization, circuits (including virtual circuits), tenants, contacts, VPN (IKE/IPSec/L2VPN), wireless, extras (webhooks, event-rules, scripts, config-templates, bookmarks, notifications), users/permissions/tokens, and core data sources & jobs
Use the NetBox API as an MCP server with Claude, GPT, or any MCP-compatible AI agent — defined declaratively in a single DADL file, served by ToolMesh. No custom MCP server code, no boilerplate.
Source: NetBox REST API
Coverage
98% (608 of ~620 endpoints)
Focus: DCIM full v4: sites, site-groups, regions, locations, racks (with elevation, roles, types, reservations), manufacturers, device-types, device-roles, platforms, devices, modules, module-types, module-bays, device-bays, virtual-chassis, virtual-device-contexts, inventory-items, inventory-item-roles, interfaces, cables, cable-terminations, all port types (console, console-server, power, power-outlet, front, rear) with trace/paths actions, power-panels, power-feeds, mac-addresses, connected-device lookup, and the complete component-template family. IPAM full v4: prefixes (with available-prefixes/available-ips), ip-addresses, ip-ranges (with available-ips), vlans, vlan-groups (with available-vlans), vrfs, route-targets, aggregates, rirs, asns, asn-ranges (with available-asns), roles, services, service-templates, vlan-translation-policies, vlan-translation-rules, fhrp-groups, fhrp-group-assignments. Virtualization full v4: clusters, cluster-types, cluster-groups, virtual-machines, virtual-machine-types, vm-interfaces, virtual-disks. Tenancy full v4: tenants, tenant-groups, contacts, contact-roles, contact-groups, contact-assignments. Circuits full v4: providers, provider-accounts, provider-networks, circuit-types, circuits, circuit-terminations (with paths), circuit-groups, circuit-group-assignments, virtual-circuits, virtual-circuit-types, virtual-circuit-terminations. Wireless full v4: wireless-lan-groups, wireless-lans, wireless-links. VPN full v4: tunnel-groups, tunnels, tunnel-terminations, ike-proposals, ike-policies, ipsec-proposals, ipsec-policies, ipsec-profiles, l2vpns, l2vpn-terminations. Extras: tags, custom-fields, custom-field-choice-sets, custom-links, saved-filters, export-templates, journal-entries, object-changes, config-contexts, config-templates (+render), webhooks, event-rules, scripts (+run), bookmarks, notifications, notification-groups, subscriptions, image-attachments, dashboard. Users: users, groups, permissions, tokens (+provision). Core: data-sources (+sync), data-files, jobs, object-types, background-queues/workers/tasks.
Missing: Read-only listing of background-tasks with action endpoints (delete/requeue/enqueue/stop) -- rarely used outside debugging. Plugin-specific endpoints under /api/plugins/ -- those depend on installed plugins and are out of scope for a general DADL. table-configs, config-context-profiles, tagged-objects, and the authentication-check endpoint -- minor utility endpoints. Bulk update/delete on list endpoints (PUT/PATCH/DELETE on collections) -- prefer per-object operations in Code Mode.
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 (608)
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_site_groups List site groups (hierarchical grouping of sites, orthogonal to regions) GET get_site_group Get a specific site group POST create_site_group Create a site group PATCH update_site_group Update a site group DELETE delete_site_group Delete a site group 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 get_rack_elevation Get rack elevation -- returns the rack units with installed devices. Use ?render=svg for a graphical SVG rendering, default is JSON list of units.
GET list_rack_roles List rack roles (functional classification of racks) GET get_rack_role Get a specific rack role POST create_rack_role Create a rack role PATCH update_rack_role Update a rack role DELETE delete_rack_role Delete a rack role GET list_rack_types List rack types (reusable rack model definitions, NetBox 4.1+) GET get_rack_type Get a specific rack type POST create_rack_type Create a rack type PATCH update_rack_type Update a rack type DELETE delete_rack_type Delete a rack type GET list_rack_reservations List rack reservations (claimed rack units for future use) GET get_rack_reservation Get a specific rack reservation POST create_rack_reservation Reserve rack units for future installation PATCH update_rack_reservation Update a rack reservation DELETE delete_rack_reservation Delete a rack reservation 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_module_types List module types (reusable hardware module definitions, e.g. line cards) GET get_module_type Get a specific module type POST create_module_type Create a module type PATCH update_module_type Update a module type DELETE delete_module_type Delete a module type GET list_module_type_profiles List module type profiles (schemas for module-type custom attributes, NetBox 4.3+) GET get_module_type_profile Get a specific module type profile POST create_module_type_profile Create a module type profile (JSON Schema describing module-type attributes) PATCH update_module_type_profile Update a module type profile DELETE delete_module_type_profile Delete a module type profile GET list_modules List installed modules (instances of module-types mounted in module-bays) GET get_module Get a specific module POST create_module Install a module into a module bay PATCH update_module Update a module DELETE delete_module Delete a module GET list_module_bays List module bays (slots on a device that accept modules) GET get_module_bay Get a specific module bay POST create_module_bay Create a module bay on a device PATCH update_module_bay Update a module bay DELETE delete_module_bay Delete a module bay GET list_device_bays List device bays (slots that contain child devices, e.g. blade chassis) GET get_device_bay Get a specific device bay POST create_device_bay Create a device bay PATCH update_device_bay Update a device bay DELETE delete_device_bay Delete a device bay GET list_virtual_chassis List virtual chassis (logical grouping of stacked devices that share a single management plane) GET get_virtual_chassis Get a specific virtual chassis POST create_virtual_chassis Create a virtual chassis. Assign devices via PATCH /dcim/devices/ to set virtual_chassis and vc_position fields. PATCH update_virtual_chassis Update a virtual chassis DELETE delete_virtual_chassis Delete a virtual chassis GET list_virtual_device_contexts List virtual device contexts (VDCs -- multiple logical contexts on one physical device, e.g. Cisco Nexus VDCs) GET get_virtual_device_context Get a specific VDC POST create_virtual_device_context Create a virtual device context PATCH update_virtual_device_context Update a virtual device context DELETE delete_virtual_device_context Delete a virtual device context GET list_inventory_items List inventory items (line cards, fans, PSUs not modeled as full modules) GET get_inventory_item Get a specific inventory item POST create_inventory_item Create an inventory item on a device PATCH update_inventory_item Update an inventory item DELETE delete_inventory_item Delete an inventory item GET list_inventory_item_roles List inventory item roles (functional classification, e.g. CPU, PSU, Fan) GET get_inventory_item_role Get a specific inventory item role POST create_inventory_item_role Create an inventory item role PATCH update_inventory_item_role Update an inventory item role DELETE delete_inventory_item_role Delete an inventory item role 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. Nullable foreign keys and choice fields accept an explicit JSON null to clear -- omitting the field leaves it unchanged. Nullable params: untagged_vlan, lag, parent, bridge, vrf, primary_mac_address, mode, duplex. For M2M wireless_lans / tagged_vlans / tags pass [] to detach all.
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 get_console_port Get a specific console port PATCH update_console_port Update a console port DELETE delete_console_port Delete a console port GET trace_console_port Trace the cable path from this console port to its far end (returns a list of cable segments) GET list_console_server_ports List console server ports (the server-side of console connections) GET get_console_server_port Get a specific console server port POST create_console_server_port Create a console server port PATCH update_console_server_port Update a console server port DELETE delete_console_server_port Delete a console server port GET get_power_port Get a specific power port PATCH update_power_port Update a power port DELETE delete_power_port Delete a power port GET list_power_outlets List power outlets (sockets on a PDU or device that supply power to other devices) GET get_power_outlet Get a specific power outlet POST create_power_outlet Create a power outlet (typically on a PDU) PATCH update_power_outlet Update a power outlet DELETE delete_power_outlet Delete a power outlet GET list_front_ports List front ports (patch panel front-side ports, paired with rear ports) GET get_front_port Get a specific front port POST create_front_port Create a front port on a patch panel (must reference a rear port) PATCH update_front_port Update a front port DELETE delete_front_port Delete a front port GET paths_front_port List all cable paths that pass through this front port GET list_rear_ports List rear ports (patch panel rear-side ports, cabled to trunk lines) GET get_rear_port Get a specific rear port POST create_rear_port Create a rear port on a patch panel PATCH update_rear_port Update a rear port DELETE delete_rear_port Delete a rear port GET paths_rear_port List all cable paths that pass through this rear port GET trace_interface Trace the cable path from this interface to its far end GET trace_power_port Trace the cable path from this power port GET trace_power_outlet Trace the cable path from this power outlet GET trace_console_server_port Trace the cable path from this console server port GET get_connected_device Lookup the device connected to a given peer device/interface. Returns the device at the far end of the cable, or 404 if not connected.
GET list_cable_terminations List cable terminations (endpoints of cables -- the join between a cable and a port) GET get_cable_termination Get a specific cable termination GET list_power_panels List power panels (the upstream source of power feeds at a site) GET get_power_panel Get a specific power panel POST create_power_panel Create a power panel PATCH update_power_panel Update a power panel DELETE delete_power_panel Delete a power panel GET list_power_feeds List power feeds (the circuit from a power panel that supplies a rack) GET get_power_feed Get a specific power feed POST create_power_feed Create a power feed (circuit from a power panel to a rack) PATCH update_power_feed Update a power feed DELETE delete_power_feed Delete a power feed GET trace_power_feed Trace the cable path from this power feed GET list_interface_templates List interface templates on device-types and module-types POST create_interface_template Create an interface template. Must specify device_type OR module_type. GET get_interface_template Get a specific interface template PATCH update_interface_template Update an interface template DELETE delete_interface_template Delete an interface template GET list_console_port_templates List console port templates POST create_console_port_template Create a console port template DELETE delete_console_port_template Delete a console port template GET list_console_server_port_templates List console server port templates POST create_console_server_port_template Create a console server port template DELETE delete_console_server_port_template Delete a console server port template GET list_power_port_templates List power port templates POST create_power_port_template Create a power port template DELETE delete_power_port_template Delete a power port template GET list_power_outlet_templates List power outlet templates POST create_power_outlet_template Create a power outlet template DELETE delete_power_outlet_template Delete a power outlet template GET list_front_port_templates List front port templates POST create_front_port_template Create a front port template (must reference a rear-port-template) DELETE delete_front_port_template Delete a front port template GET list_rear_port_templates List rear port templates POST create_rear_port_template Create a rear port template DELETE delete_rear_port_template Delete a rear port template GET list_module_bay_templates List module bay templates POST create_module_bay_template Create a module bay template DELETE delete_module_bay_template Delete a module bay template GET list_device_bay_templates List device bay templates POST create_device_bay_template Create a device bay template DELETE delete_device_bay_template Delete a device bay template GET list_inventory_item_templates List inventory item templates POST create_inventory_item_template Create an inventory item template DELETE delete_inventory_item_template Delete an inventory item template 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_service_templates List service templates (reusable service definitions, e.g. 'web-https') GET get_service_template Get a specific service template POST create_service_template Create a service template PATCH update_service_template Update a service template DELETE delete_service_template Delete a service template GET list_route_targets List BGP route targets (e.g. '65000:100', used for MPLS L3VPN import/export) GET get_route_target Get a specific route target POST create_route_target Create a route target. Assign to VRFs via vrf.import_targets / vrf.export_targets. PATCH update_route_target Update a route target DELETE delete_route_target Delete a route target GET list_asn_ranges List ASN ranges (bounded ASN allocation pools) GET get_asn_range Get a specific ASN range POST create_asn_range Create an ASN range PATCH update_asn_range Update an ASN range DELETE delete_asn_range Delete an ASN range GET list_available_asns List the next unallocated ASNs within a range. POST to the same path to claim ASNs. POST claim_asn Claim the next available ASN from a range and assign metadata GET list_available_prefixes List unallocated sub-prefixes within a prefix POST claim_prefix Carve a new child prefix out of a parent. NetBox picks the next free block of prefix_length. GET list_available_ips_in_range List free IPs within an IP range GET list_available_vlans List the next unallocated VIDs in a VLAN group POST claim_vlan Claim the next available VID from a VLAN group GET get_ip_range Get a specific IP range PATCH update_ip_range Update an IP range DELETE delete_ip_range Delete an IP range GET get_aggregate Get a specific aggregate PATCH update_aggregate Update an aggregate DELETE delete_aggregate Delete an aggregate GET get_asn Get a specific ASN PATCH update_asn Update an ASN DELETE delete_asn Delete an ASN GET get_rir Get a specific RIR (Regional Internet Registry, e.g. RIPE, ARIN) PATCH update_rir Update a RIR DELETE delete_rir Delete a RIR GET list_vlan_translation_policies List VLAN translation policies (named sets of 1:1 VID mappings, NetBox 4.0+) GET get_vlan_translation_policy Get a specific VLAN translation policy POST create_vlan_translation_policy Create a VLAN translation policy PATCH update_vlan_translation_policy Update a VLAN translation policy DELETE delete_vlan_translation_policy Delete a VLAN translation policy GET list_vlan_translation_rules List VLAN translation rules (individual local-VID to remote-VID mappings within a policy) GET get_vlan_translation_rule Get a specific VLAN translation rule POST create_vlan_translation_rule Create a VLAN translation rule PATCH update_vlan_translation_rule Update a VLAN translation rule DELETE delete_vlan_translation_rule Delete a VLAN translation rule 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 get_virtual_disk Get a specific virtual disk PATCH update_virtual_disk Update a virtual disk DELETE delete_virtual_disk Delete a virtual disk GET list_virtual_machine_types List virtual machine types (NetBox 4.2+, model definitions like AWS EC2 'm5.xlarge') GET get_virtual_machine_type Get a specific VM type POST create_virtual_machine_type Create a virtual machine type PATCH update_virtual_machine_type Update a virtual machine type DELETE delete_virtual_machine_type Delete a virtual machine type 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_contact_groups List contact groups (hierarchical grouping of contacts) GET get_contact_group Get a specific contact group POST create_contact_group Create a contact group PATCH update_contact_group Update a contact group DELETE delete_contact_group Delete a contact group GET list_contact_assignments List contact assignments (links between contacts and any NetBox object) GET get_contact_assignment Get a specific contact assignment POST create_contact_assignment Assign a contact to an object (device, circuit, etc.) PATCH update_contact_assignment Update a contact assignment DELETE delete_contact_assignment Delete a contact assignment 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 paths_circuit_termination Trace cable paths from a circuit termination GET list_provider_accounts List provider accounts (a customer's account number with a provider) GET get_provider_account Get a specific provider account POST create_provider_account Create a provider account PATCH update_provider_account Update a provider account DELETE delete_provider_account Delete a provider account GET list_provider_networks List provider networks (the far end of a circuit -- a provider's MPLS cloud, peering fabric, etc.) GET get_provider_network Get a specific provider network POST create_provider_network Create a provider network PATCH update_provider_network Update a provider network DELETE delete_provider_network Delete a provider network GET list_circuit_groups List circuit groups (logical grouping of related circuits, e.g. SD-WAN underlays) GET get_circuit_group Get a specific circuit group POST create_circuit_group Create a circuit group PATCH update_circuit_group Update a circuit group DELETE delete_circuit_group Delete a circuit group GET list_circuit_group_assignments List circuit-to-group assignments with priorities GET get_circuit_group_assignment Get a specific circuit group assignment POST create_circuit_group_assignment Assign a circuit (or virtual circuit) to a circuit group PATCH update_circuit_group_assignment Update a circuit group assignment DELETE delete_circuit_group_assignment Delete a circuit group assignment GET list_virtual_circuit_types List virtual circuit types (classification of virtual circuits, NetBox 4.2+) GET get_virtual_circuit_type Get a specific virtual circuit type POST create_virtual_circuit_type Create a virtual circuit type PATCH update_virtual_circuit_type Update a virtual circuit type DELETE delete_virtual_circuit_type Delete a virtual circuit type GET list_virtual_circuits List virtual circuits (logical end-to-end paths that run over a provider network, NetBox 4.2+) GET get_virtual_circuit Get a specific virtual circuit POST create_virtual_circuit Create a virtual circuit PATCH update_virtual_circuit Update a virtual circuit DELETE delete_virtual_circuit Delete a virtual circuit GET list_virtual_circuit_terminations List virtual circuit terminations (endpoints of virtual circuits on interfaces) GET get_virtual_circuit_termination Get a specific virtual circuit termination POST create_virtual_circuit_termination Terminate a virtual circuit on a physical interface PATCH update_virtual_circuit_termination Update a virtual circuit termination DELETE delete_virtual_circuit_termination Delete a virtual circuit termination GET list_wireless_lan_groups List wireless LAN groups (hierarchical grouping of SSIDs) GET get_wireless_lan_group Get a specific wireless LAN group POST create_wireless_lan_group Create a wireless LAN group PATCH update_wireless_lan_group Update a wireless LAN group DELETE delete_wireless_lan_group Delete a wireless LAN group GET list_wireless_lans List wireless LANs (SSIDs) GET get_wireless_lan Get a specific wireless LAN POST create_wireless_lan Create a wireless LAN (SSID) PATCH update_wireless_lan Update a wireless LAN DELETE delete_wireless_lan Delete a wireless LAN GET list_wireless_links List wireless point-to-point links GET get_wireless_link Get a specific wireless link POST create_wireless_link Create a wireless point-to-point link PATCH update_wireless_link Update a wireless link DELETE delete_wireless_link Delete a wireless link GET list_tunnel_groups List tunnel groups (logical grouping of VPN tunnels) GET get_tunnel_group Get a specific tunnel group POST create_tunnel_group Create a tunnel group PATCH update_tunnel_group Update a tunnel group DELETE delete_tunnel_group Delete a tunnel group GET list_tunnels List VPN tunnels GET get_tunnel Get a specific tunnel POST create_tunnel Create a VPN tunnel PATCH update_tunnel Update a tunnel DELETE delete_tunnel Delete a tunnel GET list_tunnel_terminations List tunnel terminations (per-side endpoints of a VPN tunnel) GET get_tunnel_termination Get a specific tunnel termination POST create_tunnel_termination Add a termination to a VPN tunnel PATCH update_tunnel_termination Update a tunnel termination DELETE delete_tunnel_termination Delete a tunnel termination GET list_ike_proposals List IKE proposals (encryption/authentication algorithm bundles for IKE phase 1) GET get_ike_proposal Get a specific IKE proposal POST create_ike_proposal Create an IKE proposal PATCH update_ike_proposal Update an IKE proposal DELETE delete_ike_proposal Delete an IKE proposal GET list_ike_policies List IKE policies (named groups of proposals + version + mode) GET get_ike_policy Get a specific IKE policy POST create_ike_policy Create an IKE policy PATCH update_ike_policy Update an IKE policy DELETE delete_ike_policy Delete an IKE policy GET list_ipsec_proposals List IPSec proposals (encryption/auth bundles for IPSec phase 2) GET get_ipsec_proposal Get a specific IPSec proposal POST create_ipsec_proposal Create an IPSec proposal PATCH update_ipsec_proposal Update an IPSec proposal DELETE delete_ipsec_proposal Delete an IPSec proposal GET list_ipsec_policies List IPSec policies (named bundles of IPSec proposals + PFS group) GET get_ipsec_policy Get a specific IPSec policy POST create_ipsec_policy Create an IPSec policy PATCH update_ipsec_policy Update an IPSec policy DELETE delete_ipsec_policy Delete an IPSec policy GET list_ipsec_profiles List IPSec profiles (combination of IKE policy + IPSec policy + mode -- attach to a tunnel) GET get_ipsec_profile Get a specific IPSec profile POST create_ipsec_profile Create an IPSec profile PATCH update_ipsec_profile Update an IPSec profile DELETE delete_ipsec_profile Delete an IPSec profile GET list_l2vpns List L2VPN instances (VPLS, VXLAN, EVPN, etc.) GET get_l2vpn Get a specific L2VPN POST create_l2vpn Create an L2VPN instance PATCH update_l2vpn Update an L2VPN DELETE delete_l2vpn Delete an L2VPN GET list_l2vpn_terminations List L2VPN terminations (attachments of VLANs/interfaces/VRFs to an L2VPN) GET get_l2vpn_termination Get a specific L2VPN termination POST create_l2vpn_termination Attach an interface, VLAN, or VRF to an L2VPN PATCH update_l2vpn_termination Update an L2VPN termination DELETE delete_l2vpn_termination Delete an L2VPN termination 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 GET get_config_context Get a specific config context PATCH update_config_context Update a config context DELETE delete_config_context Delete a config context GET get_journal_entry Get a specific journal entry PATCH update_journal_entry Update a journal entry DELETE delete_journal_entry Delete a journal entry GET list_config_templates List config templates (Jinja2 templates rendered against config-context data) GET get_config_template Get a specific config template POST create_config_template Create a config template PATCH update_config_template Update a config template DELETE delete_config_template Delete a config template POST render_config_template Render a config template with the supplied context. Returns text/plain or JSON. GET list_webhooks List webhooks (HTTP callbacks that fire on object events) GET get_webhook Get a specific webhook POST create_webhook Create a webhook. Webhooks are now decoupled from triggers -- use event-rules to bind a webhook to a model + event. PATCH update_webhook Update a webhook DELETE delete_webhook Delete a webhook GET list_event_rules List event rules (binding: model + event type -> action target like webhook or script) GET get_event_rule Get a specific event rule POST create_event_rule Create an event rule PATCH update_event_rule Update an event rule DELETE delete_event_rule Delete an event rule GET list_scripts List installed custom scripts. NetBox 4.0+ merged reports into scripts. Each script has a module + name and is identified by id (or 'module.ClassName' string).
GET get_script Get script details (parameters schema, module info) POST run_script Execute a custom script. Returns a job ID; poll /core/jobs/{job_id}/ for status. Data must match the script's declared parameters.
GET list_export_templates List export templates (Jinja2 templates that render lists of objects to CSV/JSON/text) GET get_export_template Get a specific export template POST create_export_template Create an export template PATCH update_export_template Update an export template DELETE delete_export_template Delete an export template GET list_saved_filters List saved filters (reusable URL query parameter sets per object type) GET get_saved_filter Get a specific saved filter POST create_saved_filter Create a saved filter PATCH update_saved_filter Update a saved filter DELETE delete_saved_filter Delete a saved filter GET list_custom_links List custom links (extra UI buttons shown on object pages) GET get_custom_link Get a specific custom link POST create_custom_link Create a custom link PATCH update_custom_link Update a custom link DELETE delete_custom_link Delete a custom link GET list_bookmarks List bookmarks (user-specific bookmarks of NetBox objects) GET get_bookmark Get a specific bookmark POST create_bookmark Create a bookmark DELETE delete_bookmark Delete a bookmark GET list_notifications List notifications (in-app messages for users, NetBox 4.1+) GET get_notification Get a specific notification POST create_notification Create a notification (typically used by automation, not humans) PATCH update_notification Mark notification as read by setting 'read' to a datetime DELETE delete_notification Delete a notification GET list_notification_groups List notification groups (sets of users + groups that receive event-rule notifications) GET get_notification_group Get a specific notification group POST create_notification_group Create a notification group PATCH update_notification_group Update a notification group DELETE delete_notification_group Delete a notification group GET list_subscriptions List subscriptions (per-user follow lists for specific objects) GET get_subscription Get a specific subscription POST create_subscription Subscribe a user to events on an object DELETE delete_subscription Delete a subscription GET list_image_attachments List image attachments (rack diagrams, photos, etc. attached to NetBox objects) GET get_image_attachment Get a specific image attachment POST create_image_attachment Attach an image to an object. Uses multipart/form-data with the image bytes. PATCH update_image_attachment Update image attachment metadata (name) DELETE delete_image_attachment Delete an image attachment GET get_dashboard Get the current user's dashboard configuration (singleton -- not a list endpoint) PATCH update_dashboard Update the current user's dashboard layout GET list_users List NetBox users. Admin-only endpoint. GET get_user Get a specific user POST create_user Create a NetBox user PATCH update_user Update a user. Passing 'password' resets the password. DELETE delete_user Delete a user GET list_groups List user groups GET get_group Get a specific group POST create_group Create a user group PATCH update_group Update a group DELETE delete_group Delete a group GET list_permissions List object permissions (per-model + per-action grants assigned to users/groups) GET get_permission Get a specific permission POST create_permission Create an object permission PATCH update_permission Update a permission DELETE delete_permission Delete a permission GET list_tokens List API tokens. Admin sees all; regular users see only their own. GET get_token Get a specific token (key shown only on create) POST create_token Issue a new API token for a user. The 'key' field in the response is shown only once. PATCH update_token Update token metadata (description, expiry, allowed IPs) DELETE delete_token Revoke a token POST provision_token Issue a token by username+password without an existing token. Bootstrap-only endpoint. Returns the new token in the response body.
GET list_data_sources List core data sources (git/S3/local paths used to sync templates, scripts, contexts) GET get_data_source Get a specific data source POST create_data_source Create a data source PATCH update_data_source Update a data source DELETE delete_data_source Delete a data source POST sync_data_source Enqueue a sync job for the data source. Returns job ID; poll /core/jobs/{id}/. GET list_data_files List data files (read-only listing of files synced from data sources) GET get_data_file Get a specific data file (metadata + content) GET list_jobs List background jobs (script runs, data syncs, etc.) GET get_job Get a specific job (status, started/completed times, output data) GET list_object_types List Django ContentTypes (app_label.model strings used in object_type fields) GET get_object_type Get a specific object type GET list_background_queues List RQ background queues with statistics GET list_background_workers List active background workers GET list_background_tasks List background tasks (RQ jobs)