---
title: "Reconcile Publish State"
method: POST
path: "/v1/retrievers/{retriever_id}/publish/reconcile"
tags: ["Published Retrievers"]
---

# Reconcile Publish State

`POST /v1/retrievers/{retriever_id}/publish/reconcile`

Repair published_retrievers <-> marketplace_listings divergence (BACKE-743).

A retriever's public surfaces can drift apart — e.g. a marketplace listing
exists but its published_retrievers record is missing, so
/v1/public/retrievers/{name} 404s (half-published). This detects the state
and (unless ``dry_run``) repairs it idempotently:
- missing_published -> create the published record from the listing (reused id)
- missing_listing   -> create the listing from the published record
- consistent        -> ensure cross-link
- not_published     -> no-op

## Path parameters

- `retriever_id` string, required — ID of the retriever to reconcile

## Query parameters

- `dry_run` boolean — Report the divergence state without mutating

## Response `200`

Successful Response

- object

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

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