GraphQL enabled API #4144

Closed
opened 2025-12-29 18:33:26 +01:00 by adam · 2 comments
Owner

Originally created by @ziggekatten on GitHub (Sep 28, 2020).

Environment

  • Python version:
  • NetBox version:

Proposed Functionality

Using GraphQL to query the API to get information would simplify a lot of scenarios that today require multiple requests to get neccessary information. Example RootQuery would be: Tenant, IP-address, Prefix, VRF, VLAN, Interface, Virtual Machine, Virtual Interface, Device.

Having these would make life very easy to extract a Tenant's logical topology in one blow.

Use Case

Minimize number of GET requests to identify ID of object in netbox based on their relations when preparing an external system to update several objects in netbox.

Database Changes

No changes would be neccessary, as the models already have relations

External Dependencies

There are a package called Graphene-Django that could do this

Originally created by @ziggekatten on GitHub (Sep 28, 2020). <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. This form is only for proposing specific new features or enhancements. If you have a general idea or question, please post to our mailing list instead of opening an issue: https://groups.google.com/forum/#!forum/netbox-discuss NOTE: Due to an excessive backlog of feature requests, we are not currently accepting any proposals which significantly extend NetBox's feature scope. Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: <!-- Example: 3.6.9 --> * NetBox version: <!-- Example: 2.7.3 --> <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality Using GraphQL to query the API to get information would simplify a lot of scenarios that today require multiple requests to get neccessary information. Example RootQuery would be: Tenant, IP-address, Prefix, VRF, VLAN, Interface, Virtual Machine, Virtual Interface, Device. Having these would make life very easy to extract a Tenant's logical topology in one blow. <!-- Convey an example use case for your proposed feature. Write from the perspective of a NetBox user who would benefit from the proposed functionality and describe how. ---> ### Use Case Minimize number of GET requests to identify ID of object in netbox based on their relations when preparing an external system to update several objects in netbox. <!-- Note any changes to the database schema necessary to support the new feature. For example, does the proposal require adding a new model or field? (Not all new features require database changes.) ---> ### Database Changes No changes would be neccessary, as the models already have relations <!-- List any new dependencies on external libraries or services that this new feature would introduce. For example, does the proposal require the installation of a new Python package? (Not all new features introduce new dependencies.) --> ### External Dependencies There are a package called Graphene-Django that could do this
adam added the status: duplicate label 2025-12-29 18:33:26 +01:00
adam closed this issue 2025-12-29 18:33:26 +01:00
Author
Owner

@dgarros commented on GitHub (Sep 28, 2020):

I think it makes a lot of sense.
I think even if the API is Read-Only at first to reduce the amount of work it would be extremely useful.

Also there is already a project that did some work with Graphene-Django and NetBox that could be used for inspiration if needed https://github.com/ninech/django-netbox-graphql

@dgarros commented on GitHub (Sep 28, 2020): I think it makes a lot of sense. I think even if the API is Read-Only at first to reduce the amount of work it would be extremely useful. Also there is already a project that did some work with Graphene-Django and NetBox that could be used for inspiration if needed https://github.com/ninech/django-netbox-graphql
Author
Owner

@jeremystretch commented on GitHub (Sep 28, 2020):

Thank you for submitting this issue, however it appears that this topic has already been raised. Please see issue #2007 for further discussion. This is not something we'll be undertaking in the near future.

@jeremystretch commented on GitHub (Sep 28, 2020): Thank you for submitting this issue, however it appears that this topic has already been raised. Please see issue #2007 for further discussion. This is not something we'll be undertaking in the near future.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4144