links
GET /v1/link-targets
The Link Tracker report — domains this org's sites link out to.
認証
ベアラー トークンとして API キーを送信します。このエンドポイントでは仕様に特定の権限が記載されていないため、キーに必要な最小限の権限を付与し、推測するのではなくレスポンスを確認してください。
組織 ID を入力する場所
このエンドポイントはクエリパラメータとして org_id を受け取ります。省略した場合はテナントサブツリー全体が対象になり、指定した場合は特定の組織のみに絞り込まれます。
組織IDは、ダッシュボードのAPIキー画面にキーのすぐ横に表示されています。これは、実行するすべての呼び出しで同じIDになります。
試してみる
アングルブラケット内のすべてをご自身の値に置き換え、キーのプレースホルダーをご利用中のダッシュボードのキーに置き換えてください。
curl -X GET https://api.zinndigital.com/v1/link-targets \
-H "Authorization: Bearer zdk_live_…"ログインしていますか?ダッシュボード内のAPIコンソールでは、実際の組織IDやお客様ご自身のキーが自動入力され、ライブAPIに対してリクエストが実行されるため、実際のレスポンスを確認することができます。 API コンソールでこのエンドポイントを開く
詳細
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.
パラメータ
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
org_id (query) | string | いいえ | Narrow 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) | string | いいえ | A 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> | いいえ | `own` shows only targets that are the customer's **own** sites; `external` only those that are not. Omitted shows both. |
site_id (query) | string | いいえ | Only targets linked to **from** this site. |
include_ips (query) | boolean | いいえ | Bare-IP targets are real links and are tracked, but they never group sensibly. Set `false` to hide them. |
min_links (query) | integer | いいえ | The 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> | いいえ | — |
limit (query) | integer | いいえ | — |
offset (query) | integer | いいえ | — |
返信
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
items | LinkTarget[] | はい | — |
total | integer | はい | — |
offset | integer | はい | — |
limit | integer | はい | — |
has_more | boolean | はい | — |
rollup | LinkRollup | はい | Combined 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. |
coverage | LinkCoverage | はい | How 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. |
このエンドポイントが返すエラー
401 · 403 · 429