visibility
PUT /v1/visibility/targets/{targetId}/keywords
Set the search phrases to track positions for.
인증
Bearer 토큰으로 API 키를 전송하세요. 이 엔드포인트는 명세에 특정 권한을 명시하지 않으므로, 가정하기보다는 키에 필요한 최소한의 권한을 부여하고 응답을 확인하세요.
이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.
무료 체험하기
대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.
curl -X PUT https://api.zinndigital.com/v1/visibility/targets/{targetId}/keywords \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ }'로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요
상세 정보
Replaces the phrase list wholesale. The phrases are customer-supplied and never derived: only the customer knows which searches they want to win, and the ones they already rank for are precisely the set this product has nothing to say about. Each phrase carries its own market. The same phrase in two countries is two different questions with two different answers and two separate costs, so `{phrase: "hosting", location: "United Kingdom"}` and `{phrase: "hosting", location: "Germany"}` are two entries rather than one. Sending more phrases than the plan allows is refused with `422` naming the allowance. It is **not** truncated: silently checking the first twenty-five of two hundred reads as a complete list on the very screen the customer checks, and they would conclude the other one hundred and seventy-five were being watched.
매개변수
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
targetId (path) | Uuid | 예 | The watched domain's id. |
요청 본문
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
keywords | TrackedKeyword[] | 아니요 | — |
응답
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
id | Uuid | 예 | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
domain | string | 예 | The hostname |
label | string | 아니요 | The customer's own label for this domain. |
brand | string | 아니요 | The trading name to look for in an answer engine's reply. Genuinely separate from the domain — an answer that recommends a business by name without printing its URL has still me… |
category | string | 아니요 | What this business sells, in the customer's own words. The questions asked of the answer engines are built from it, so it is the single field that decides whether an AI-visibili… |
market | string | 아니요 | Where the business sells. Used with `category` to build the questions. |
is_external | boolean | 예 | True when this is not a domain hosted with us — a competitor or a prospect. Only external targets count against the plan's allowance. |
site_id | string | 아니요 | The site this target corresponds to, when it is one of ours. |
kinds | VisibilityAuditKind[] | 예 | — |
cadence_days | integer | 예 | Days between scheduled audits. `0` means paused — **not** deleted. History and settings survive and it resumes with no further action. |
next_due_at | string | 아니요 | — |
last_audit_at | string | 아니요 | — |
review_profiles | ReviewProfile[] | 아니요 | — |
products | TrackedProduct[] | 아니요 | The products this organisation has asked us to price-track. |
merchant_names | string[] | 아니요 | How this business appears as a **seller** on the marketplaces. Confirmed by the customer and never inferred: Google Shopping publishes a seller name and no domain on its listing… |
keywords | TrackedKeyword[] | 아니요 | The search phrases this organisation tracks its position for. Customer-supplied and never derived: asking a vendor which phrases a domain already ranks for would return exactly… |
이 엔드포인트가 반환할 수 있는 오류
401 · 403 · 404 · 422