---
title: "Set website contact"
method: POST
path: "/api/v1/tools/set_website_contact"
tags: ["default"]
---

# Set website contact

`POST /api/v1/tools/set_website_contact`

## Request

- Base URL: `https://www.affiliatespy.io`
- URL: `https://www.affiliatespy.io/api/v1/tools/set_website_contact`
- Auth: HTTP bearer

Enter a site's contact email by hand, as typing one in the Websites drawer does: checked against the outreach policy (legal, privacy and system mailboxes are refused) and saved as a manual contact, replacing a found one. Sites already enrolled keep the address they were enrolled with. Nothing is sent.

## Request body

- object
  - `site_id` string, uuid, required: A site id from list_websites.
  - `email` string, required: The address, e.g. editor@example.com.
  - `confirm` boolean: Set true after the user confirmed an action the guard flagged as hard to undo.

## Response `200`

The tool's JSON result (same payload the MCP tool returns).

- unknown

## Other responses

- `400`: Arguments failed validation; body lists the issues.
- `401`: Missing or invalid API key.
- `403`: Guarded tool with Unrestricted MCP off.
- `429`: Rate limited (60 requests per minute per key).

---

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