Problem
The Update REST API (api.addons.microsoftedge.microsoft.com) has no way to query a product's current state without an operationID from an upload/publish call you just made yourself. The four documented endpoints are:
POST /v1/products/{productID}/submissions/draft/package
GET /v1/products/{productID}/submissions/draft/package/operations/{operationID}
POST /v1/products/{productID}/submissions
GET /v1/products/{productID}/submissions/operations/{operationID}
Both GET endpoints require an operationID from an action you just triggered — there's no "tell me the current state of this product" call.
Real-world impact
I maintain extport, a tool that publishes browser extensions to Chrome/Firefox/Edge/Safari and reconciles local state against each store. For Edge specifically, there's currently no reliable way to answer two basic questions without side effects: what version is live right now, and whether a submission is currently in review (and if so, which version).
Today the only workaround is calling the undocumented endpoint the public store-detail page uses (microsoftedge.microsoft.com/addons/getproductdetailsbycrxid/{crxId}), which only reports the live version — it can't report review status at all, since that's never shown to consumers on the public page either. Without a review-status signal, the only way to find out "is something already in review" is to attempt a submission and interpret a failure as evidence something was already in flight — wasteful, and it turns a read-only status check into a real submission attempt.
Request
A GET endpoint, e.g. GET /v1/products/{id}/status, returning at minimum the currently live version, and the current submission state (e.g. none / in-review / rejected / published) together with the specific version it applies to.
It would also help a lot if {id} accepted either the Partner Center Product ID (GUID) or the public-facing CRX ID shown in the extension's store URL — Partner Center's own "Extension identity" page already displays both side by side, so the mapping clearly already exists server-side; today there's no supported way to resolve one from the other via the API, only by copying it manually out of the Partner Center UI.
Happy to provide more detail on the exact use case if useful.
(Originally filed at MicrosoftDocs/edge-developer#3867, which was closed as the wrong repo with a pointer here.)
Problem
The Update REST API (api.addons.microsoftedge.microsoft.com) has no way to query a product's current state without an
operationIDfrom an upload/publish call you just made yourself. The four documented endpoints are:Both GET endpoints require an
operationIDfrom an action you just triggered — there's no "tell me the current state of this product" call.Real-world impact
I maintain extport, a tool that publishes browser extensions to Chrome/Firefox/Edge/Safari and reconciles local state against each store. For Edge specifically, there's currently no reliable way to answer two basic questions without side effects: what version is live right now, and whether a submission is currently in review (and if so, which version).
Today the only workaround is calling the undocumented endpoint the public store-detail page uses (microsoftedge.microsoft.com/addons/getproductdetailsbycrxid/{crxId}), which only reports the live version — it can't report review status at all, since that's never shown to consumers on the public page either. Without a review-status signal, the only way to find out "is something already in review" is to attempt a submission and interpret a failure as evidence something was already in flight — wasteful, and it turns a read-only status check into a real submission attempt.
Request
A GET endpoint, e.g.
GET /v1/products/{id}/status, returning at minimum the currently live version, and the current submission state (e.g. none / in-review / rejected / published) together with the specific version it applies to.It would also help a lot if
{id}accepted either the Partner Center Product ID (GUID) or the public-facing CRX ID shown in the extension's store URL — Partner Center's own "Extension identity" page already displays both side by side, so the mapping clearly already exists server-side; today there's no supported way to resolve one from the other via the API, only by copying it manually out of the Partner Center UI.Happy to provide more detail on the exact use case if useful.
(Originally filed at MicrosoftDocs/edge-developer#3867, which was closed as the wrong repo with a pointer here.)