links

GET /v1/link-targets

The Link Tracker report — domains this org's sites link out to.

Tutti gli endpoint links

Autenticazione

Invia una chiave API come bearer token. Questo endpoint non specifica un permesso specifico nella specifica, quindi assegna alla tua chiave i permessi minimi necessari e verifica la risposta invece di fare supposizioni.

L'ID della tua organizzazione va qui

Questo endpoint accetta org_id come parametro di query. Omettilo e la chiamata coprirà l'intero sottoalbero del tuo tenant; invialo per limitare la chiamata a una singola organizzazione.

L'identificativo della tua organizzazione si trova nella schermata delle chiavi API nella tua dashboard, accanto alla chiave stessa. È lo stesso identificativo in ogni chiamata che effettui.

Provalo

Sostituisci qualsiasi elemento tra parentesi angolari con i tuoi valori e il segnaposto key con una chiave dalla tua dashboard.

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

Hai effettuato l'accesso? La console API nella tua dashboard inserisce il tuo ID organizzazione reale e la tua chiave personale, ed esegue la richiesta sull'API live in modo da poter vedere la risposta effettiva. Apri questo endpoint nella console API

Dettagli

V1's columns, rebuilt: **Domain | Site | Reflinks | Ref posts | Ref sites**. Ranked by reflinks by default, because the question is *"who am I linking to most"*. **Search rolls variants up.** `www.`, letter case and punycode/Unicode are folded on the **write** path, so they are already one row by the time you search — that is the fix for the production defect where `cu-tv.com` showed 185 reflinks and `www.cu-tv.com` showed 1 (docs/96 §1.4, D1328). **Subdomains** stay separate rows, because an operator cares which host they hit, but a search for `skokka.com` finds `blog.skokka.com` too and `rollup` gives the combined totals across the whole match. ⛔ **Paged by `offset`, not by cursor.** The shared cursor paginator is keyset over the sortable id, which is chronological; this list is ranked, and a keyset cursor cannot express that ordering. `total` is the full match so the screen can page all of it — there is no hidden cap. `coverage` says how much of the estate the report is based on. ⛔ Without it a customer cannot tell *"no outbound links"* from *"nobody has scanned this yet"*, and those two readings lead to opposite actions.

Parametri

NomeTipoObbligatorioChe cos'è
org_id (query)stringNoNarrow to one organisation in the caller's subtree — what the dashboard's org switcher sends. ⛔ **Narrow only:** it is intersected with what the caller may already read, so an o…
q (query)stringNoA domain, or any text. A value that parses as a hostname matches that host **and every subdomain of it**; anything else is a substring match, because someone typing `casino` mea…
owned (query)string<own, external>No`own` shows only targets that are the customer's **own** sites; `external` only those that are not. Omitted shows both.
site_id (query)stringNoOnly targets linked to **from** this site.
include_ips (query)booleanNoBare-IP targets are real links and are tracked, but they never group sensibly. Set `false` to hide them.
min_links (query)integerNoThe noise filter. Padding links (`google.com`, `youtube.com`) sit beside the money links deliberately. ⛔ They are **filterable, never auto-deleted** — removing a link a customer…
sort (query)string<links, posts, sites, host, recent>No
limit (query)integerNo
offset (query)integerNo

Risposta

NomeTipoObbligatorioChe cos'è
itemsLinkTarget[]
totalinteger
offsetinteger
limitinteger
has_moreboolean
rollupLinkRollupCombined totals across **every** target the filters matched — the *"including variants of it"* number. Not the sum of the page, so it does not change as you page.
coverageLinkCoverageHow much of the estate the report is based on. ⛔ Without it a customer cannot tell *"no outbound links"* from *"never scanned"*, and those lead to opposite actions.

Errori che questo endpoint può restituire

401 · 403 · 429