---
title: "Self-serve promotion of a claimed stub org to tracked"
method: POST
path: "/listing/promote"
tags: ["Listing"]
---

# Self-serve promotion of a claimed stub org to tracked

`POST /listing/promote`

Signed-in only, and the caller must hold a verified claim on the resolved org (403 otherwise). Materializes stored release locators into sources — tier-1 (feed/github/appstore) go live, tier-2 (bare url/file) land paused for curator review — and flips the org to tracked. Idempotent: an already-tracked org is a no-op success. Gated behind a dedicated kill switch (creates live fetching sources).

## Request body

- object
  - `domain` string, required

## Response `200`

ListingPromoteResult

## Other responses

- `401` — Sign-in required
- `403` — No verified claim on this domain
- `404` — Lane or promotion flag disabled, or the domain is not listed
- `409` — Promotion already in progress for this org
- `429` — Rate limited

---

[API](https://skmtc.net/releases/apis/releases-api.md) · [All operations](https://skmtc.net/releases/apis/releases-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/releases/releases-api/revisions/168e32061f53/schema)
