---
title: "Set a page's topic and role by hand"
method: PUT
path: "/v3/site-linking/page-placement"
tags: ["Internal Linking"]
---

# Set a page's topic and role by hand

`PUT /v3/site-linking/page-placement`

## Request

- Base URL: `https://api.snowseo.com`
- URL: `https://api.snowseo.com/v3/site-linking/page-placement`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Puts one of the site's pages in a topic group with a role, overriding what the AI sorted. The page is then left where it is by every later analysis. Send `topicId: null` to take the page out of every topic. Topic group ids are in internal_link_analysis. Free.

## Request body

- object
  - `teamId` string, required: SnowSEO team ID. Call list_teams first to choose a team.
  - `url` string, required: The full address of the page.
  - `topicId` string, nullable, required: The topic group to put the page in, or null for none.
  - `role` 'pillar' | 'cluster' | 'other' | 'null', nullable: pillar: the topic's main page. cluster: a page about one part of it. other: not an article. Defaults to cluster. Ignored with a null topic.

## Response `200`

Default Response

## Changes

- **2026-10-12** `09cbe0d8a50f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/site-linking/page-placement/put.md)

---

[API](https://skmtc.dev/snowseo/apis/snowseo-api.md) - [All operations](https://skmtc.dev/snowseo/apis/snowseo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/snowseo/apis/snowseo-api/revisions/ac69ae8943d7?raw)
