<div dir="ltr"><div dir="auto"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><ul><li>/api/v3/repositories/<uuid>/<wbr>versions/ endpoint does not perform plugin specific validation which can lead to "broken" repository versions.</li><li>Plugin authors don't have any convention to follow when creating custom REST API endpoints for creating repository versions. <br></li><li>As a result of ^, a user will have a hard time identifying repository version creation APIs in different plugins. <br></li></ul></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I agree with these points.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><ul><li></li></ul>My first inclination is to disable the ability to POST to /api/v3/repositories/<uuid>/<wbr>versions/ and require users to use the plugin specific APIs for creating repository versions. However, I think that integrators of build systems that produce a variety of content types would have a lot more flexibility if they could use a single generic API endpoint to create a repository version independent of the content type. <br><br></div><div class="gmail_extra">Let's continue this discussion by answering the following question: <br><ul><li>Should we disable the ability to POST to /api/v3/repositories/<uuid>/<wbr>versions/ and require users to always use a plugin specific repository version creation API?</li></ul></div></div></blockquote><div>Yes, I think we should disable<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span> </span>POST to /api/v3/repositories/<uuid>/</span><wbr style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">versions/ </span><br></div><div><br></div><div>Simplifying integration is important, but we should not sacrifice correctness enforcement.</div></div></div></div></div>