links

GET /v1/link-targets

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

Todos os endpoints de links

Autenticação

Envie uma chave de API como um token bearer. Este endpoint não especifica uma permissão específica na documentação, portanto, conceda à sua chave o mínimo necessário e verifique a resposta em vez de assumir.

Onde vai o ID da sua organização

Este endpoint aceita org_id como parâmetro de consulta. Omita-o e a chamada abrangerá toda a sua subárvore de locatários; envie-o para restringir a chamada a uma única organização.

O ID da sua organização está na tela de chaves de API no seu painel, ao lado da própria chave. É o mesmo ID em todas as chamadas que você fizer.

Experimente

Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.

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

Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API

Detalhes

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.

Parâmetros

NomeTipoObrigatórioO que é
org_id (query)stringNãoNarrow 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)stringNãoA 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>Não`own` shows only targets that are the customer's **own** sites; `external` only those that are not. Omitted shows both.
site_id (query)stringNãoOnly targets linked to **from** this site.
include_ips (query)booleanNãoBare-IP targets are real links and are tracked, but they never group sensibly. Set `false` to hide them.
min_links (query)integerNãoThe 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>Não
limit (query)integerNão
offset (query)integerNão

Resposta

NomeTipoObrigatórioO que é
itemsLinkTarget[]Sim
totalintegerSim
offsetintegerSim
limitintegerSim
has_morebooleanSim
rollupLinkRollupSimCombined 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.
coverageLinkCoverageSimHow 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.

Erros que este endpoint pode retornar

401 · 403 · 429