Missing api documentation for "POST /api/extras/scripts/" #10762

Closed
opened 2025-12-29 21:35:41 +01:00 by adam · 3 comments
Owner

Originally created by @sjurtf on GitHub (Feb 11, 2025).

Deployment Type

Self-hosted

NetBox Version

v4.2.3

Python Version

3.12

Steps to Reproduce

(Could not find a way to reopen https://github.com/netbox-community/netbox/issues/16731, which was closed as duplicate to another issue that is closed/merged - but the original issue was not fixed)

  1. Go to https://demo.netbox.dev/api/schema/swagger-ui/#/extras/extras_scripts_create or your self hosted
    1.1. Under "Parameters", you will notice there are no parameters

  2. Trying to call the api endpoint without body, will result in an error (who would have expected this 😄 )

  3. I used following curl command:

curl -X 'POST' \
  'https://netbox/api/extras/scripts/' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Token XXX" \
  -d ''

Expected Behavior

Having all fields available on this endpoint documented

Observed Behavior

  "error": "null value in column \"module_id\" of relation \"extras_script\" violates not-null constraint\nDETAIL:  Failing row contains (19, , null, t).",
  "exception": "IntegrityError",
  "netbox_version": "4.2.3",
  "python_version": "3.12.3"
}
Originally created by @sjurtf on GitHub (Feb 11, 2025). ### Deployment Type Self-hosted ### NetBox Version v4.2.3 ### Python Version 3.12 ### Steps to Reproduce (Could not find a way to reopen https://github.com/netbox-community/netbox/issues/16731, which was closed as duplicate to another issue that is closed/merged - but the original issue was not fixed) 1. Go to https://demo.netbox.dev/api/schema/swagger-ui/#/extras/extras_scripts_create or your self hosted 1.1. Under "Parameters", you will notice there are no parameters 2. Trying to call the api endpoint without body, will result in an error (who would have expected this 😄 ) 3. I used following curl command: ``` curl -X 'POST' \ 'https://netbox/api/extras/scripts/' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -H "Authorization: Token XXX" \ -d '' ``` ### Expected Behavior Having all fields available on this endpoint documented ### Observed Behavior ```{ "error": "null value in column \"module_id\" of relation \"extras_script\" violates not-null constraint\nDETAIL: Failing row contains (19, , null, t).", "exception": "IntegrityError", "netbox_version": "4.2.3", "python_version": "3.12.3" } ```
adam closed this issue 2025-12-29 21:35:41 +01:00
Author
Owner

@CADbloke commented on GitHub (Mar 17, 2025):

There are a few model objects missing a description. Scripts is among them.

Here is a pretty-definitve list from my c# ApI Client builder...

no class Description : CircuitTermination            File: C:\Codez\Github\netbox\netbox\circuits\models\circuits.py - line 232
no class Description : VirtualCircuitTermination     File: C:\Codez\Github\netbox\netbox\circuits\models\virtual_circuits.py - line 121
no class Description : ObjectTypeManager             File: C:\Codez\Github\netbox\netbox\core\models\contenttypes.py - line 12
no class Description : VirtualDeviceContext          File: C:\Codez\Github\netbox\netbox\dcim\models\devices.py - line 1389
no class Description : MACAddress                    File: C:\Codez\Github\netbox\netbox\dcim\models\devices.py - line 1497
no class Description : ModularComponentModel         File: C:\Codez\Github\netbox\netbox\dcim\models\device_components.py - line 108
no class Description : ComponentTemplateModel        File: C:\Codez\Github\netbox\netbox\dcim\models\device_component_templates.py - line 36
no class Description : ConfigTemplate                File: C:\Codez\Github\netbox\netbox\extras\models\configs.py - line 213
no class Description : CustomFieldManager            File: C:\Codez\Github\netbox\netbox\extras\models\customfields.py - line 51
no class Description : CustomField                   File: C:\Codez\Github\netbox\netbox\extras\models\customfields.py - line 71
no class Description : Dashboard                     File: C:\Codez\Github\netbox\netbox\extras\models\dashboard.py - line 11
no class Description : ExportTemplate                File: C:\Codez\Github\netbox\netbox\extras\models\models.py - line 385
no class Description : Script                        File: C:\Codez\Github\netbox\netbox\extras\models\scripts.py - line 28
no class Description : ScriptModuleManager           File: C:\Codez\Github\netbox\netbox\extras\models\scripts.py - line 87
no class Description : CachedValue                   File: C:\Codez\Github\netbox\netbox\extras\models\search.py - line 15
no class Description : Tag                           File: C:\Codez\Github\netbox\netbox\extras\models\tags.py - line 23
no class Description : TaggedItem                    File: C:\Codez\Github\netbox\netbox\extras\models\tags.py - line 67
no class Description : ASNRange                      File: C:\Codez\Github\netbox\netbox\ipam\models\asns.py - line 15
no class Description : FHRPGroupAssignment           File: C:\Codez\Github\netbox\netbox\ipam\models\fhrp.py - line 75
no class Description : ServiceBase                   File: C:\Codez\Github\netbox\netbox\ipam\models\services.py - line 19
no class Description : VLANTranslationPolicy         File: C:\Codez\Github\netbox\netbox\ipam\models\vlans.py - line 335
no class Description : VLANTranslationRule           File: C:\Codez\Github\netbox\netbox\ipam\models\vlans.py - line 351
no class Description : NetBoxFeatureSet              File: C:\Codez\Github\netbox\netbox\netbox\models\__init__.py - line 24
no class Description : ContactAssignment             File: C:\Codez\Github\netbox\netbox\tenancy\models\contacts.py - line 105
no class Description : GroupManager                  File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 22
no class Description : Group                         File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 26
no class Description : UserManager                   File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 70
no class Description : User                          File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 74
no class Description : VMInterface                   File: C:\Codez\Github\netbox\netbox\virtualization\models\virtualmachines.py - line 303
no class Description : VirtualDisk                   File: C:\Codez\Github\netbox\netbox\virtualization\models\virtualmachines.py - line 412
no class Description : IKEProposal                   File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 21
no class Description : IKEPolicy                     File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 67
no class Description : IPSecProposal                 File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 126
no class Description : IPSecPolicy                   File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 178
no class Description : IPSecProfile                  File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 214
no class Description : L2VPN                         File: C:\Codez\Github\netbox\netbox\vpn\models\l2vpn.py - line 19
no class Description : L2VPNTermination              File: C:\Codez\Github\netbox\netbox\vpn\models\l2vpn.py - line 79
no class Description : Tunnel                        File: C:\Codez\Github\netbox\netbox\vpn\models\tunnels.py - line 30
no class Description : TunnelTermination             File: C:\Codez\Github\netbox\netbox\vpn\models\tunnels.py - line 102
@CADbloke commented on GitHub (Mar 17, 2025): There are a few model objects missing a description. Scripts is among them. Here is a pretty-definitve list from my c# ApI Client builder... ``` no class Description : CircuitTermination File: C:\Codez\Github\netbox\netbox\circuits\models\circuits.py - line 232 no class Description : VirtualCircuitTermination File: C:\Codez\Github\netbox\netbox\circuits\models\virtual_circuits.py - line 121 no class Description : ObjectTypeManager File: C:\Codez\Github\netbox\netbox\core\models\contenttypes.py - line 12 no class Description : VirtualDeviceContext File: C:\Codez\Github\netbox\netbox\dcim\models\devices.py - line 1389 no class Description : MACAddress File: C:\Codez\Github\netbox\netbox\dcim\models\devices.py - line 1497 no class Description : ModularComponentModel File: C:\Codez\Github\netbox\netbox\dcim\models\device_components.py - line 108 no class Description : ComponentTemplateModel File: C:\Codez\Github\netbox\netbox\dcim\models\device_component_templates.py - line 36 no class Description : ConfigTemplate File: C:\Codez\Github\netbox\netbox\extras\models\configs.py - line 213 no class Description : CustomFieldManager File: C:\Codez\Github\netbox\netbox\extras\models\customfields.py - line 51 no class Description : CustomField File: C:\Codez\Github\netbox\netbox\extras\models\customfields.py - line 71 no class Description : Dashboard File: C:\Codez\Github\netbox\netbox\extras\models\dashboard.py - line 11 no class Description : ExportTemplate File: C:\Codez\Github\netbox\netbox\extras\models\models.py - line 385 no class Description : Script File: C:\Codez\Github\netbox\netbox\extras\models\scripts.py - line 28 no class Description : ScriptModuleManager File: C:\Codez\Github\netbox\netbox\extras\models\scripts.py - line 87 no class Description : CachedValue File: C:\Codez\Github\netbox\netbox\extras\models\search.py - line 15 no class Description : Tag File: C:\Codez\Github\netbox\netbox\extras\models\tags.py - line 23 no class Description : TaggedItem File: C:\Codez\Github\netbox\netbox\extras\models\tags.py - line 67 no class Description : ASNRange File: C:\Codez\Github\netbox\netbox\ipam\models\asns.py - line 15 no class Description : FHRPGroupAssignment File: C:\Codez\Github\netbox\netbox\ipam\models\fhrp.py - line 75 no class Description : ServiceBase File: C:\Codez\Github\netbox\netbox\ipam\models\services.py - line 19 no class Description : VLANTranslationPolicy File: C:\Codez\Github\netbox\netbox\ipam\models\vlans.py - line 335 no class Description : VLANTranslationRule File: C:\Codez\Github\netbox\netbox\ipam\models\vlans.py - line 351 no class Description : NetBoxFeatureSet File: C:\Codez\Github\netbox\netbox\netbox\models\__init__.py - line 24 no class Description : ContactAssignment File: C:\Codez\Github\netbox\netbox\tenancy\models\contacts.py - line 105 no class Description : GroupManager File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 22 no class Description : Group File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 26 no class Description : UserManager File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 70 no class Description : User File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 74 no class Description : VMInterface File: C:\Codez\Github\netbox\netbox\virtualization\models\virtualmachines.py - line 303 no class Description : VirtualDisk File: C:\Codez\Github\netbox\netbox\virtualization\models\virtualmachines.py - line 412 no class Description : IKEProposal File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 21 no class Description : IKEPolicy File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 67 no class Description : IPSecProposal File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 126 no class Description : IPSecPolicy File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 178 no class Description : IPSecProfile File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 214 no class Description : L2VPN File: C:\Codez\Github\netbox\netbox\vpn\models\l2vpn.py - line 19 no class Description : L2VPNTermination File: C:\Codez\Github\netbox\netbox\vpn\models\l2vpn.py - line 79 no class Description : Tunnel File: C:\Codez\Github\netbox\netbox\vpn\models\tunnels.py - line 30 no class Description : TunnelTermination File: C:\Codez\Github\netbox\netbox\vpn\models\tunnels.py - line 102 ```
Author
Owner

@github-actions[bot] commented on GitHub (Jun 16, 2025):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Do not attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our contributing guide.

@github-actions[bot] commented on GitHub (Jun 16, 2025): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. **Do not** attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/main/CONTRIBUTING.md).
Author
Owner

@github-actions[bot] commented on GitHub (Jul 16, 2025):

This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.

@github-actions[bot] commented on GitHub (Jul 16, 2025): This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#10762