<div dir="ltr">We need to decide where the publish API endpoint should live. We also want to confirm that we don't want to have relationships between repositories and importers or publishers. <br><br>Current design<br>---------------------<br><br>The publish API is at /api/v3/publications/ endpoint. This endpoint accepts a publisher. pulpcore dispatches a task defined on the publisher called 'publish'. The publish task publishes the latest version of the repository associated with the publisher.<br><br>The sync API is at /api/v3/importers/<id>/sync endpoint. The endpoint takes no POST parameters. pulpcore dispatches a sync task defined by the importer. The task creates a new version of the repository associated with the importer.<br><br><br>Proposed design<br>------------------------<br><br>The publish API should mirror the sync API. The /api/v3/publisher/<id>/publish/ endpoint should be used to published with a publisher. This endpoint should accept a repository version to publish or a repository to publish. No association between a publisher and a repository should exist.<br><br>The sync API should remain at /api/v3/importers/<id>/sync. It should also accept a repository as a parameter. No relationship should exist between an importer and a repository. <br><br></div>