[{"generic":{"name":"<script>alert(1)</script>",
"memory":2048,"cpus":2,"description":"desc777","cores":1,"disks":[{"disk_address":{"bus":"IDE"}}],"vm_features":{"AGENT_VM":false}}}]
When zap active scan posts, the payload is:
[{"generic":{"name":"vm777","memory":2048,"cpus":2,"description":"desc777","cores":1,"disks":[{"disk_address":{"bus":"<script>alert(1);</script>"}}],"vm_features":{"AGENT_VM":false}}}]
This payload POST was rejected by the server because the bus attribute value "<script>..." is checked and rejected by the server.
For some reason, active scan does not attempt to plug "<script>..." into the attribute name.
I think active scan would need to enumerate on all string fields here, each plug in "<script>alert(1)</script>" to get a successful POST to the server.