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

# Post Kol Audience Insights

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

## 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/insights`
- Auth: HTTP bearer

AI interpretation of the audience snapshot — cache-first.

Same caching story as ``/kols/{u}/outreach``: pre-2026-05-18 this
ran the LLM on every "Interpret" click. Now cached per (workspace,
username, locale) and gated on a SHA-256 of the snapshot payload so
a re-sampled audience invalidates the cached interpretation.

## Path parameters

- `username` string, required

## Query parameters

- `locale` string: Output locale — en / zh-CN / ja
- `refresh` boolean: Force fresh LLM call + cache replace

## Headers

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

## Request body

- AudienceInsightsRequest
  - `snapshot` object, required

## Response `200`

Successful Response

- AudienceInsightsResponse
  - `summary` string, required
  - `segments` AudienceSegmentOut[], required
    - `label` string, required
    - `reasoning` string, required
  - `content_angles` string[], required
  - `outreach_angle` string, nullable
  - `caveats` string, nullable
  - `generated_at` string, required
  - `model_used` string, nullable
  - `cached` boolean, required

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