links
POST /v1/link-edits
Change or remove a target's links across the network.
Автентифікація
Надішліть ключ API як маркер носія (bearer token). Ця кінцева точка не вказує конкретного дозволу в специфікації, тому надайте своєму ключу мінімально необхідні права та перевірте відповідь, замість того щоб припускати.
Цей кінцевий пункт не потребує ідентифікатора організації. Ваш ключ уже ідентифікує організацію, якій він належить, і відповідь обмежується її межами.
Спробувати
Замініть усе в кутових дужках власними значеннями, а заповнювач ключа — ключем із вашої панелі керування.
curl -X POST https://api.zinndigital.com/v1/link-edits \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "target_id": <string>, "action": <string<rewrite, unlink>> }'Увійшли в систему? Консоль API у вашій панелі керування автоматично підставляє ваш реальний ідентифікатор організації та ваш власний ключ, а також виконує запит до робочого API, щоб ви могли побачити справжню відповідь. Відкрийте цю кінцеву точку в консолі API
Деталі
**The one write in this feature, and the most consequential single action in the customer surface**: it rewrites published content on every site that links to the target. It is therefore gated on its own permission, `links.edit`, which `links.view` does not imply and which the `read_only` role does not hold. **Returns `202`, never the result.** Two hundred sites is minutes of work on the boxes; holding the request open is the uncached hot-path work CLAUDE.md 2.16 forbids. Poll `getLinkEdit` and read each site's outcome from `items`. **How the change is made.** Each item is one exact `<a>` tag on one site, replaced by a whole-site string replacement. That is what makes the edit *idempotent* (the second run finds nothing), *reversible* (`undoLinkEdit` swaps the two strings) and cheap on a large site (no post content is ever read back). Only the `href` — and the text, if you supply one — changes: `rel="nofollow"`, `target` and the theme's classes are carried through byte for byte, because for a PBN operator dropping a `rel` across two hundred sites is a change to what the link *does*. **`unlink` keeps the words.** The tag is replaced by its inner HTML, so an image link leaves the image and a bold anchor leaves the bold. **A host with no managed command is `unsupported`, not failed.** this platform exposes no shell, so those sites report that per item and the rest of the network still changes.
Тіло запиту
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
target_id | string | Так | — |
action | string<rewrite, unlink> | Так | — |
href | string | Ні | Where the links should point, for a `rewrite`. **`http`/`https` or a site-relative path only** — a scheme-relative `//host` form is refused with a message telling the operator t… |
anchor_text | string | Ні | New visible text. Omit to keep whatever each link already says. |
site_ids | string[] | Ні | Narrow the edit to these sites. **Omit the field entirely to change every site**; an empty array is refused, because it is a UI that failed to send a selection rather than a req… |
Відповідь
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
id | string | Так | — |
target_id | string | Ні | — |
target_host | string | Так | The host as it read when the edit was made. Kept as a string as well as a key, because a rewrite can empty a target of its last link and an audit line reading "edited (deleted t… |
action | string<rewrite, unlink> | Так | — |
new_href | string | Ні | — |
new_text | string | Ні | New visible text. Empty means *keep whatever each link already says* — which is the common case, because one target's links carry many different anchors and flattening them all… |
status | string<pending, running, applied, partial, failed> | Так | `partial` is the honest answer when some sites succeeded and some did not, and it exists because the other two are lies in that case: an operator's next action depends entirely… |
expected_links | integer | Так | What the operator was told would change, **recorded when they confirmed it** rather than recomputed later. The whole value of a confirmation is that it can be held up against th… |
expected_posts | integer | Так | — |
expected_sites | integer | Так | — |
undo_of | string | Ні | The edit this one reverses, if any. |
undone_by | string | Ні | The edit that has already reversed this one. Present so the screen offers undo once — two undos of one edit put the original change back. |
created_at | string | Так | — |
finished_at | string | Ні | — |
items | LinkEditItem[] | Ні | — |
Помилки, які може повертати ця кінцева точка
401 · 403 · 404 · 422 · 503