API: find ip-addresses by interface ID #2809

Closed
opened 2025-12-29 18:22:23 +01:00 by adam · 1 comment
Owner

Originally created by @lf- on GitHub (Aug 17, 2019).

Environment

  • Python version: 3.7.4
  • NetBox version: v2.6.2

Proposed Functionality

Filter in the API to find IP addresses by interface ID (or otherwise attach the dcim interfaces to the ipam ip addresses).

For example: request /api/ipam/ip-addresses/?interface.id=123 would list all the IP addresses for interface ID 123. Currently there is a ?interface=<name> parameter but it won't filter effectively if your interface is named eth0 or something that's common to a bunch of machines.

To ensure I'm not going insane, I've tried using ?interface.id=123 and ?interface_id=123 in the existing implementation, and neither one actually filters anything (feedback: unrecognized query strings should have some sort of feedback to the user as I can't tell if these don't do anything or if they don't exist)

I've tried /api/ipam/ip-addresses/?interface=123 but it returns:

{
    "interface": [
        "Select a valid choice. 123 is not one of the available choices."
    ]
}

Use Case

Writing anything using the API that needs to associate interfaces with IP addresses. For example I'm currently writing a program that generates data for making labels for cabling using the API cables endpoint to find interfaces, but I can't get the IP addresses for those interfaces without just dumping all the IP addresses and filtering locally.

Database Changes

None.

External Dependencies

Originally created by @lf- on GitHub (Aug 17, 2019). <!-- NOTE: 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: 3.7.4 <!-- Example: 3.5.4 --> * NetBox version: v2.6.2 <!-- Example: 2.3.6 --> <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality Filter in the API to find IP addresses by interface ID (or otherwise attach the dcim interfaces to the ipam ip addresses). For example: request `/api/ipam/ip-addresses/?interface.id=123` would list all the IP addresses for interface ID 123. Currently there is a `?interface=<name>` parameter but it won't filter effectively if your interface is named `eth0` or something that's common to a bunch of machines. To ensure I'm not going insane, I've tried using `?interface.id=123` and `?interface_id=123` in the existing implementation, and neither one actually filters anything (feedback: unrecognized query strings should have some sort of feedback to the user as I can't tell if these don't do anything or if they don't exist) I've tried `/api/ipam/ip-addresses/?interface=123` but it returns: ```json { "interface": [ "Select a valid choice. 123 is not one of the available choices." ] } ``` <!-- 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 Writing anything using the API that needs to associate interfaces with IP addresses. For example I'm currently writing a program that generates data for making labels for cabling using the API cables endpoint to find interfaces, but I can't get the IP addresses for those interfaces without just dumping all the IP addresses and filtering locally. <!-- 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 None. <!-- 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
adam closed this issue 2025-12-29 18:22:23 +01:00
Author
Owner

@lf- commented on GitHub (Aug 17, 2019):

Apparently ?interface_id=123 does in fact work. Oops.

@lf- commented on GitHub (Aug 17, 2019): Apparently `?interface_id=123` does in fact work. Oops.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2809