Hi @R-8,
Let me preface this by stating I'm not an NSO expert. I found the following, which may be helpful:
Merge multiple services creation under single API REST call
https://community.cisco.com/t5/nso-developer-hub-discussions/merge-multiple-services-creation-under-single-api-rest-call/td-p/3498791
The Python API Overview for NSO 6.0 mentions (about 2/3 down into the page) using this template:
Add a template to packages/pyservice/templates/service.template.xml:
<config-template xmlns="http://tail-f.com/ns/config/1.0">
<devices xmlns="http://tail-f.com/ns/ncs">
<device tags="nocreate">
<name>{$CE}</name>
<config tags="merge">
<interface xmlns="urn:ios">
<FastEthernet>
<name>0/{$INTERFACE}</name>
<description>The maagic: {$MAGIC}</description>
</FastEthernet>
</interface>
</config>
</device>
</devices>
</config-template>
Notice this tag:
<config tags="merge">
I'm not sure if this will be helpful to you, but it's worth a look, at least.