- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2.9k
Closed
Labels
complexity: lowRequires minimal effort to implementRequires minimal effort to implementstatus: acceptedThis issue has been accepted for implementationThis issue has been accepted for implementationtype: featureIntroduction of new functionality to the applicationIntroduction of new functionality to the application
Milestone
Description
NetBox version
v4.3.2
Feature type
Change to existing functionality
Proposed functionality
NetBox currently provides a REST API endpoint at /api/extras/object-types/ which lists all registered object types, both within NetBox core as well as from installed plugins. Currently, this provides minimal information about each object type. For instance:
{
    "id": 57,
    "url": "http://netbox:8000/api/extras/object-types/57/",
    "display": "DCIM | site",
    "app_label": "dcim",
    "model": "site"
}We can improve the functional value of this endpoint in several ways:
- Alter the displaytext to something more human-readable, e.g. "Site" rather than "DCIM | site".
- Provide the proper app name as a discrete field in addition to its raw label (e.g. "DCIM" vs. "dcim").
- Provide both the singular and plural forms of each model's verbose name.
- Include a boolean flag indicating whether the model is provided by a plugin.
- Include the REST API endpoint for the model (where applicable).
We should also consider moving the endpoint from extras to core, however that might justify a separate FR.
Use case
This seizes an opportunity to deliver additional valuable context concerning the object types supported by NetBox with minimal overhead, and no changes to the data model itself. This information is useful e.g. for discovery by third party clients.
Database changes
None
External dependencies
None
Metadata
Metadata
Assignees
Labels
complexity: lowRequires minimal effort to implementRequires minimal effort to implementstatus: acceptedThis issue has been accepted for implementationThis issue has been accepted for implementationtype: featureIntroduction of new functionality to the applicationIntroduction of new functionality to the application