Skip to main content

publishListing

Publish a strategy version + backtest to the public marketplace. AUTHENTICATED; authorization is enforced IN THE RESOLVER against workspace__strategy__make_public on the strategy's owning workspace (via graph.checkScope) — publishing to a search-indexed public page IS publication, not the plain write authority setStrategyVisibility takes today. The @hasScope directive is not used here so the SAME gate helper covers publish/republish/unpublish uniformly (republish/unpublish take a listing id the directive's static resourceType cannot resolve).

publishListing(
input: PublishListingInput!
): MarketplaceListingAdmin!

Arguments

publishListing.input ● PublishListingInput! non-null input

Type

MarketplaceListingAdmin object

Owner-facing view of ONE of the caller's own listings, in ANY status. AUTHENTICATED and a SEPARATE type from MarketplaceListingDetail — unlike the anonymous type this DOES carry ids (id, strategyID, backtestID): unlike sharesForResource (which already receives the resource id as a query argument), myMarketplaceListings takes no argument, so the caller needs these to tell listings apart and to know what is currently pinned before a republish. It is still built field by field, never by embedding the ent row, so fork_payload stays unreachable here too.