---
title: "Set Deal Target Value Route"
method: POST
path: "/api/prospecting/deals/{deal_id}/set-target-value"
tags: ["prospecting"]
---

# Set Deal Target Value Route

`POST /api/prospecting/deals/{deal_id}/set-target-value`

Set or clear one deal's manual/forecast target_value.

Mirrors the chat agent's `set_deal_target_value` tool — both surfaces
share `services.deal_target_value_service.set_deal_target_value` so
validation (finite, >= 0, capped) and the linked-entity refusal live in
exactly one place.

## Query parameters

- `user_id` string, nullable
- `org_id` string, nullable

## Request body

- SetDealTargetValueRequest — Manual/forecast value, shown until a proposal/invoice link supersedes it (see `entity_resolution._compute_value` precedence). `null` (or `0`) clears any existing target; setting a non-null, non-zero value is refused once a proposal or invoice is already linked to the deal. `target_value` is REQUIRED (though nullable) — deliberately no default. Omitting the field entirely from the request body is a 422, not a silent clear; the caller must send `"target_value": null` to clear.
  - `target_value` number, nullable, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/every/apis/every-api.md) · [All operations](https://skmtc.net/every/apis/every-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/every/every-api/revisions/292f0c9a098f/schema)
