---
title: "Admin Pseo Alternatives Similarity"
method: POST
path: "/api/admin/pseo/alternatives-similarity-backfill"
tags: ["admin"]
---

# Admin Pseo Alternatives Similarity

`POST /api/admin/pseo/alternatives-similarity-backfill`

## Request

- Base URL: `https://store.hypergpt.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://store.hypergpt.ai/api/admin/pseo/alternatives-similarity-backfill`
- Auth: HTTP bearer

Derive per-app alternatives from embedding similarity (cosine-nearest
neighbours + same-category boost) and upsert them into app_alternatives.

Fixes the 'every niche app lists the same generic competitors' problem the
scraped data has — additive and idempotent, so good domain matches survive.
Run dry_run=true first to preview edge counts. Powers /alternatives-to-{app}
and the 'Best {X} Alternatives' blog posts.

## Query parameters

- `dry_run` boolean
- `top_k` integer

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/hypergpt/apis/hyperstore-api.md) · [All operations](https://skmtc.dev/hypergpt/apis/hyperstore-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hypergpt/apis/hyperstore-api/revisions/50dc6759e3b9?raw)
