TEASEDocs
ProductsClubHow-to

Resolve an ambiguous LLM-guessed source

When the DM scan only recognized a platform (e.g. "instagram") and not a specific account, manually point that group of fans at the real one.

Sometimes the DM-scan's source guess lands on a generic platform word — instagram, twitter, reddit, tiktok, or youtube — rather than one of your specific registered accounts. This page covers the grouped, bulk view of exactly that subset.

Read the ambiguous groups

curl "https://app.tease.link/api/admin/source-layout/llm-pending" \
  -H "Authorization: Bearer $TEASE_API_KEY"
{
  "groups": [
    {
      "source": "instagram",
      "label": "Instagram — account unknown",
      "count": 34,
      "revenue_net_cents": 128400,
      "fans": [
        { "fan_id": "fan_456", "name": "@somefan", "confidence": 0.71, "revenue_net_cents": 5200 }
      ]
    }
  ],
  "total": 34,
  "revenue_net_cents": 128400
}

A fan appears here only when the DM-scan's guess and the fan's currently-stored source both canonicalize to the same generic platform word — i.e. it genuinely hasn't been narrowed to one account yet. Fans within each group are sorted by revenue, richest first.

Assign a group to one real account

curl -X POST "https://app.tease.link/api/admin/source-layout/llm-assign" \
  -H "Authorization: Bearer $TEASE_API_KEY" -H "Content-Type: application/json" \
  -d '{"fan_ids": ["fan_456", "fan_789"], "domain_source": "ig-main.link"}'

domain_source must be a registered, non-sentinel domain. Any fan_id whose stored source isn't currently llm-kind (for example, it was already resolved by something else in the meantime) is silently dropped from the assignment — the response's assigned array is the honest list of who actually moved.

This is the same underlying data as the Fan Source Review queue

Every fan listed here is also visible in Fix a fan's wrong source's "Needs review" tab (mode=pending), where an ambiguous fan shows proposal.status: "ambiguous" with the same candidate list, resolved one selection (or multi-select) at a time through a channel picker. As of the current code, the dedicated grouped-by-channel component built for this page (LlmSourceQueue.tsx, the "Needs assignment" panel) exists and is unit-tested but isn't wired into any route yet — until it is, use this API directly, or the Fan Source Review tab, to work through the queue.

What's next

On this page