Skip to main content

republishListing

Move an existing listing's pin (and, at the caller's option, its publisher-authored copy) onto a new strategy version + backtest. NEVER mints a new slug and never changes publishedAt — see internal/marketplace.Republish. AUTHENTICATED; authorization is enforced IN THE RESOLVER against workspace__strategy__make_public on the LISTING's own owning workspace (the argument is a listing id, not a resource @hasScope's static resourceType can resolve).

Gated behind marketplace_publish like publishListing, and against the LISTING's own owner_id. Moving the pin is not maintenance — it puts new, unreviewed content behind a slug that is already indexed, so an org that has lost the entitlement must not be able to keep feeding an indexed page.

republishListing(
id: ID!
input: PublishListingInput!
): MarketplaceListingAdmin!

Arguments​

republishListing.id ● ID! non-null scalar​

republishListing.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.