links

GET /v1/content/targets

Which of your sites can receive a post, and why the rest cannot.

Toate punctele finale links

Autentificare

Trimiteți o cheie API ca token de tip bearer. Acest punct final nu specifică o permisiune anume în specificație, așa că acordați cheii cele mai puține drepturi necesare și verificați răspunsul în loc să faceți presupuneri.

Unde merge ID-ul organizației tale

Acest punct final acceptă org_id ca parametru de interogare. Omiteți-l și apelul va acoperi întregul subarbore al chiriașului dvs.; trimiteți-l pentru a restrânge apelul la o singură organizație.

ID-ul organizației tale se află pe ecranul cheilor API din panoul de control, lângă cheia însăși. Este același ID în fiecare apel pe care îl faci.

Încearcă

Înlocuiți tot ce se află între paranteze unghiulare cu propriile valori și substituentul cheie cu o cheie din tabloul de bord.

curl -X GET https://api.zinndigital.com/v1/content/targets \
  -H "Authorization: Bearer zdk_live_…"

Autentificat? Consola API din panoul de control îți completează ID-ul real al organizației și propria cheie și rulează cererea în API-ul live, astfel încât să poți vedea răspunsul efectiv. Deschideți acest punct final în consola API

Detalii

Every live site in scope with its **suitability**: can it take an article, and — when it cannot — whose fact that is. Gated on `links.view`. ⛔⛔ `suitability` has five values and the difference between two of them is the whole point of this endpoint. `unsuitable` is **measured**: every adapter was asked which sites it claims and each one declined, so this kind of site genuinely has nowhere to put an article. `unknown` means **we could not determine it** — the box was unreachable, the credential has never been tested, or nothing has checked this site yet. A client MUST NOT render `unknown` as a refusal, MUST NOT silently exclude it from a selection, and SHOULD count it separately in any confirmation ("9 ready, 3 unchecked"). Treating "we could not look" as "no" is the defect this endpoint exists to prevent. ⛔ This endpoint makes **no outbound calls**. Suitability is served from the last stored probe with `checkedAt` beside it, because probing every row of a 500-site page would be an uncached external call in an interactive path. `checkedAt: null` means never checked and MUST be shown as such, not as a fresh result. Use `probeContentTargets` to refresh. ⭐ `requires` takes capability ids a recipe needs; each row then carries `missingCapabilities`, so an editor can grey a site out and say what it cannot do. A site whose capabilities are not established reports **nothing** missing rather than everything missing — for the same reason `unknown` is not `unsuitable`.

Parametri

NumeTipObligatoriuCe este
org_id (query)stringNuNarrow to one organisation in a reseller subtree. Can never widen scope.
q (query)stringNuMatch on domain or site name.
suitability (query)string<ready, needs_setup, unknown, unsuitable, blocked>Nu
product_line (query)stringNu
stack_type (query)stringNu
group_id (query)stringNuOnly sites in this site group.
cms (query)string<wordpress, headless_rest, git_static>NuOnly sites whose target is this kind.
requires (query)stringNuComma-separated capability ids a recipe requires, e.g. `cms_target:featured_image,cms_target:category`.
limit (query)integerNu
offset (query)integerNu

Răspuns

NumeTipObligatoriuCe este
itemsSiteTarget[]Da
totalintegerDaEvery site matching the filters, not the page. This is the number a select-all-matching control shows.
offsetintegerDa
limitintegerDa
has_morebooleanDa

Erori pe care le poate returna acest punct final

401 · 403 · 422