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

## Changes

- **2026-08-25** `c3a92b6b6909` — 5 warning
  - added the new `too_large` enum value to the `error/type` response property for the response status `401`
  - added the new `too_large` enum value to the `error/type` response property for the response status `403`
  - added the new `too_large` enum value to the `error/type` response property for the response status `404`
  - added the new `too_large` enum value to the `error/type` response property for the response status `409`
  - …1 more

[Change history](https://skmtc.dev/releases/apis/releases-api/changes/listing/promote/post.md)

---

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