Skip to content

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

Credits: Dunkel Cloud GmbH -- maintainer Updated: 2026-05-19

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.

Last reviewed: 2026-05-19

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 (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)