---
title: "Refresh Kol Audience"
method: POST
path: "/api/kols/{username}/audience/refresh"
tags: ["KOL Database"]
---

# Refresh Kol Audience

`POST /api/kols/{username}/audience/refresh`

## Request

- Base URL: `https://api.kolens.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kolens.ai/api/kols/{username}/audience/refresh`
- Auth: HTTP bearer

Synchronous audience refresh — sample + aggregate + persist.

Platform is inferred from ``DBAuthor.platform`` (falls back to
``tiktok``). Identical credit-pre-charge + refund semantics as the
POST /audience endpoint — uses the same private ``_AUDIENCE_PRICE_BY_SIZE``
table so a refresh costs exactly what a fresh snapshot does.

## Path parameters

- `username` string, required

## Headers

- `x-kolens-user-id` string, nullable

## Request body

- AudienceSnapshotRequest: Body for POST /api/kols/{username}/audience. Sample sizes are tiered to keep Apify spend predictable; only the three values from the design doc are accepted. Anything else 422s.
  - `sample_size` integer: 200 | 500 | 2000

## Response `201`

Successful Response

- AudienceSnapshotOut
  - `id` string, required
  - `username` string, required
  - `sampled_at` string, required
  - `sample_size` integer, required
  - `platform` string
  - `sample_method` string
  - `countries` object
  - `languages` object
  - `follower_tier_dist` object
  - `top_hashtags` object[]
  - `active_pct` number, nullable
  - `raw_count_active` integer, nullable
  - `raw_count_total` integer, nullable
  - `confidence_pct` number, nullable
  - `error_margin_pct` number, nullable
  - `charged_credits` integer, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kolens/apis/kolens-api.md) · [All operations](https://skmtc.dev/kolens/apis/kolens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kolens/apis/kolens-api/revisions/5d6865ab0a24?raw)
