Node tag can be used for shard allocation, is there API to add/remove tag for certain node/nodes?

is there API to add/remove tag for certain node/nodes?

No, it's currently done via the config file only.