Yes, cluster properties are unique by their name. In a policy, the name of the cwp is what identifies it, not to goid. Graphman follows the same rule. In graphman, if you want to 'rename' a cwp, you would just delete the old one and set with new name (or the other way around, doesn't matter, they are different cwps). Leave the goid out of the mutation if you want to avoid running into goid conflicts.
WebApiService wont be unique by name, but by resolution path. In that case, you are not creating a new entity but modifying one.
For example if you apply this bundle below, then change the name of the service to Service 2 (but leave resolution path as is) and then apply the bundle again, you just updated the existing service with a new name (there was never a second service created):
{
"webApiServices": [
{
"name": "Service 1",
"resolutionPath": "/test",
"enabled": true,
"folderPath": "/",
"methodsAllowed": [
"POST"
],
"tracingEnabled": false,
"wssProcessingEnabled": false,
"policy": {
"xml": "<whatever>\n"
}
}
]
}