Skip to main content

NetBox Cisco Support Plugin

NetBox Cisco Support Plugin

NetBox Version Python Version License CI PyPI

A NetBox plugin that displays Cisco Support information for devices, including:

  • Product Information - Product name, series, category, and orderable status
  • End-of-Life (EoX) - Key lifecycle dates with migration recommendations
  • Security Advisories (PSIRT) - Cisco security advisories affecting the product
  • Known Bugs - Critical bugs (severity 1-3) from Cisco Bug Search
  • Software Recommendations - Suggested software releases

Features

  • Serial Number Based - Tab only appears on devices with a valid serial number
  • Manufacturer Filtering - Configurable pattern to match Cisco manufacturers
  • Direct Cisco API Integration - Uses Cisco Support APIs with OAuth2 authentication
  • Caching - API responses are cached to reduce load and improve performance
  • Visual Status Indicators - Color-coded badges for EoX dates and advisory severity

Requirements

  • NetBox 4.0.0 or higher
  • Python 3.10 or higher
  • Cisco API credentials (from Cisco API Console)

Installation

Via pip (recommended)

pip install netbox-cisco-support-api

From source

git clone https://github.com/sieteunoseis/netbox-cisco-support.git
cd netbox-cisco-support
pip install .

Configuration

Add the plugin to your NetBox configuration.py:

PLUGINS = [
    'netbox_cisco_support',
]

PLUGINS_CONFIG = {
    'netbox_cisco_support': {
        # Required: Cisco API credentials
        'cisco_client_id': 'your-client-id',
        'cisco_client_secret': 'your-client-secret',

        # Optional: Manufacturer matching pattern (regex, case-insensitive)
        # Default: r'cisco'
        'manufacturer_pattern': r'cisco',

        # Optional: API request timeout in seconds
        'timeout': 30,

        # Optional: Cache duration for API responses in seconds
        'cache_timeout': 300,
    }
}

Restart NetBox after making configuration changes.

Getting Cisco API Credentials

  1. Go to Cisco API Console
  2. Sign in with your Cisco CCO ID
  3. Create a new application (or use an existing one)
  4. Add the following APIs to your application:
API Name Purpose Required
Serial Number to Information (SN2Info) v2 Coverage status, warranty dates Yes
Product Information API Product name, series, orderable status Yes
End of Life (EoX) API End-of-Life/Sale dates, migration info Yes
Bug API v2 Known bugs by product/software version Recommended
PSIRT API Security advisories Recommended
Software Suggestion API Recommended software versions Optional
  1. Copy your Client ID and Client Secret

API Endpoints Used

The plugin calls these specific endpoints:

# Coverage/Warranty
GET /sn2info/v2/coverage/status/serial_numbers/{serial}
GET /sn2info/v2/coverage/summary/serial_numbers/{serials}

# Product Information
GET /product/v1/information/serial_numbers/{serial}

# End of Life
GET /supporttools/eox/rest/5/EOXBySerialNumber/1/{serial}

# Bugs
GET /bug/v3.0/bugs/products/product_id/{pid}
GET /bug/v3.0/bugs/software_version/{version}

# Security Advisories
GET /security/advisories/v2/product

# Software Suggestions
GET /software/v4.0/suggestions/releases/productIds/{pid}

All APIs use OAuth2 client credentials flow with the same client_id/client_secret.

Usage

Once configured, the "Cisco Support" tab will automatically appear on device detail pages that meet these requirements:

  1. Device has a serial number assigned
  2. Device manufacturer matches the manufacturer_pattern (default: "cisco")

The tab displays:

  • Product information from the serial number lookup
  • End-of-Life status with key dates
  • Security advisories affecting the product
  • Known bugs (severity 1-3)
  • Software recommendations

Screenshots

Device Cisco Support Tab

Cisco Support Device Tab

Dashboard Widget

Cisco lifecycle widget showing End-of-Life status and PSIRT advisories.

Dashboard Widget

Development

Setup

git clone https://github.com/sieteunoseis/netbox-cisco-support.git
cd netbox-cisco-support
pip install -e .

Code Quality

# Format code
black netbox_cisco_support/
isort netbox_cisco_support/

# Lint
flake8 netbox_cisco_support/

License

Apache License 2.0 - See LICENSE for details.

Author

Jeremy Worden (@sieteunoseis)

Support

If you find this plugin helpful, consider supporting development:

Buy Me A Coffee

Links

Release files for netbox-cisco-support-api 1.0.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-cisco-support-api 1.0.13
File Size Uploaded
netbox_cisco_support_api-1.0.13.tar.gz 27.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-cisco-support-api 1.0.13
File Interpreter ABI Platform
netbox_cisco_support_api-1.0.13-py3-none-any.whl Python 3 none any Details

Total release size: 56.4 kB

Release files / netbox_cisco_support_api-1.0.13.tar.gz

Download URL netbox_cisco_support_api-1.0.13.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e29b74ee8e8c34e7c91eb78d058f12109e29eb8a3e6d6dbb1d726f628c753432
BLAKE2b-256 checksum
How to use checksums
c52b2afb14f640e150c841e8b03222a2c366aeb92b1f99eb20e2f03771c2d0b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / netbox_cisco_support_api-1.0.13-py3-none-any.whl

Download URL netbox_cisco_support_api-1.0.13-py3-none-any.whl
Size 29.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c142a3a2421fc78da944d84f1481ea62f8291dff322f7ac41b69151212e4f019
BLAKE2b-256 checksum
How to use checksums
71356785cf9193a1afe98a275e9dbf3e6148d311f4a3af6f98f28713303c448b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.13 This release

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page