Link translation
link_translationDeclare that two articles are the same article in two languages. The link is symmetric and shared: both ends carry one cluster id, so linking B to A is the same call as linking A to B, and a third language joins the same cluster. Both articles must already declare their own language with upsert_post; the workspace profile language does not count here. Refused (degraded reason) when both are written in the same language (same-language: those are two takes on one topic, not translations), when the cluster already covers the incoming language (language-taken: unlink the other side first), when either article has no language (language-unknown), or when one is archived (archived). Each returned translation carries sharesSlug: the public blog pairs translations by slug, so a pair on two different slugs is linked here and will still advertise no hreflang once delivered.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| alternateId | Yes | ||
| workspaceId | No | The workspace this call acts on, as listed by list_workspaces. Left out, the call uses the workspace the account is in right now. |