---
title: "Update deal"
method: POST
path: "/api/v1/tools/update_deal"
tags: ["default"]
---

# Update deal

`POST /api/v1/tools/update_deal`

## Request

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

Set a deal's value, type, notes or follow-up date. Omitted fields stay; null clears value or follow-up date. Stage moves: move_deal_stage.

## Request body

- object
  - `deal_id` string, uuid, required: A deal id from list_deals.
  - `value_cents` integer, nullable: Deal value in cents, e.g. 50000 for $500.
  - `deal_type` 'flat' | 'rev_share' | 'affiliate'
  - `notes` string: Replaces the notes; empty string clears them.
  - `follow_up_at` string, nullable: ISO date or datetime to follow up, e.g. 2026-10-15.
  - `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)
