As a user, I can publish any repository version
The publish REST API needs to accept a repository or a repository_version parameter. When the repository_version is specified, the publisher should publish that repository version. When only the repository is specified, the latest repository version for that repository should be published.
The repository and repository_version cannot be used together. When submitted together, an exception should be raised. I think the most appropriate HTTP error response for this is a 400 Bad Request.