The documentation for the copy and prune commands does not indicate that multiple -id options can be specified. But duplicacy does not return an error, e.g.:
Running prune command from /share/CACHEDEV1_DATA/.qpkg/Duplicacy/.duplicacy-web/repositories/localhost/all
Options: [-log prune -storage NAS0 -id Duplicacy-config -id Public -keep 0:365 -keep 7:90 -keep 1:7 -dry-run]
2020-12-16 15:07:49.160 INFO STORAGE_SET Storage set to /share/TR-004/Duplicacy/storage
2020-12-16 15:07:49.162 INFO RETENTION_POLICY Keep no snapshots older than 365 days
2020-12-16 15:07:49.162 INFO RETENTION_POLICY Keep 1 snapshot every 7 day(s) if older than 90 day(s)
2020-12-16 15:07:49.162 INFO RETENTION_POLICY Keep 1 snapshot every 1 day(s) if older than 7 day(s)
2020-12-16 15:08:19.289 INFO SNAPSHOT_NONE No snapshot to delete
Does this work as expected? (I did not try copy -id A -id B because copy does not have a -dry-run option.) If not, I’d consider not returning an error to be a bug.