Add a public account's recent posts

Requires `accounts:write` (opt-in when the key is created). Discovers the recent public posts of one account URL (TikTok, Instagram, YouTube, Facebook page, LinkedIn, X), applies `filters`, and adds the matching posts to the team — the same as adding an account in the Siftsy app. Discovery runs in the background: responds `202` with `status: discovering`; poll `GET /content/jobs/{jobId}`. Filters are the ones the app offers: `since` / `until`, `limit` (default 20, max 100), `keywords` (includes / exact / excludes on the caption), plus `minViews`, `minLikes`, and `postType`. You cannot hand-pick individual posts beyond these filters — use `POST /content/posts/add` for that. Order of operations: the request validates, resolves the target team and `collections`, runs the replay check, saves the account on the team, and returns the job as `discovering`. A worker then pulls the account's recent posts newest-first (`since` / `until` / `limit` / `keywords` at the source, retried up to 3 times), applies `minViews` / `minLikes` / `postType`, dedupes, cuts to `limit`, and hands the links to the same dedupe → fund check → reserve + create → queue path as `POST /content/posts/add`, moving the job to `syncing`. A discovery failure leaves the job `failed` with an `error` and no charge. Credits are reserved only for posts that pass the filters and are not already on the team. Set `dryRun: true` to discover and price without adding anything: the job completes with `discovered[]` and `credits.estimated`. `collections`, `tags`, `teamId`, `credits`, and `capture` behave as in `POST /content/posts/add`. Rate class `content_add_accounts` (2 / minute, 20 / 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.
accountobjectRequired
filtersobjectOptional
The same account filters offered in the Siftsy app.
dryRunbooleanOptionalDefaults to false
Discover and price the matching posts without adding or charging
teamIdstringOptional

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

collectionslist of objectsOptional
tagslist of stringsOptional
creditsobjectOptional
captureobjectOptional

Response

Identical request replayed; existing job returned (meta.replayed: true)

dataobjectOptional
metaobjectOptional

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error