Refresh posts already on the team

Requires `posts:write`. Re-fetches the comments of up to 100 posts that are already on the team — the same as **Resync** in the Siftsy app — by `postIds` and/or `links`. Each accepted post bumps `dataVersion`, reprocesses, and shows up in `GET /posts?updated_since=…` when done. **Refresh floor.** A given post on a given team is refreshed at most **once every 12 hours** through the API (and through automations). Posts inside that window are `skipped` with `reason: min_interval` and a `nextRefreshAt`; they are never charged. Calling this route on a schedule more often than every 12 hours is therefore harmless but pointless. **Credits.** Charged exactly like the dashboard, from the team's existing MAPs / Ad Hoc credits — there is no separate refresh credit: - free (`creditSource: included`) when the plan's included refresh cadence (hourly / daily / weekly) allows it; - otherwise **1 credit** (`creditSource: credit`; **5** with `capture.fullRead`). `credits.source` chooses `auto` (MAPs first) or `adhoc`. Posts that need a credit the team cannot fund are `rejected` with `insufficient_credits`; if nothing at all could be refreshed for that reason the response is `402`. Responds `202` with a `ContentJob` (`kind: refresh`) and a `Location` header; poll `GET /content/jobs/{jobId}` until `completed`, `partial`, or `failed`. Unlike `POST /content/posts/add`, identical requests are **not** replayed — the 12-hour floor already makes a repeat call free. `teamId` targets an Enterprise sub-team as on the other content routes. Rate class `content_refresh` (10 / minute, 200 / day per key).

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

OR
X-Api-Keystring
API Key authentication via header

Request

This endpoint expects an object.
postIdslist of stringsOptional

Post ids on the target team (from GET /posts)

teamIdstringOptional

Enterprise keys only — a sub-team of the key’s enterprise

creditsobjectOptional
captureobjectOptional

Response headers

LocationstringOptional

Host path to poll, e.g. /analyst/v1/content/jobs/cj_…

Retry-Afterinteger

Response

Refresh job created (kind: refresh); accepted posts are reprocessing

dataobjectOptional
metaobjectOptional

Errors

400
Bad Request Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error