---
title: "Patch Opportunity"
method: PATCH
path: "/crm/opportunities/{opportunity_id}"
tags: ["CRM Service Calls"]
---

# Patch Opportunity

`PATCH /crm/opportunities/{opportunity_id}`

Update an existing opportunity/deal by ID.

Send only the fields you want to change. Returns 400 if no fields are provided.

**Path Parameters:**

- **opportunity_id**: The opportunity's CRM record ID.

**Request Body (OpportunityUpdateRequest):** Fields: name, stage, value_of_sale,
probability_pcnt, expected_close_date, marketing_source, business_need_description,
product_dict_list. All optional — only included fields are updated.

**Response:** The updated deal object.

## Path parameters

- `opportunity_id` string, required

## Request body

- OpportunityUpdateRequest — Request to update an existing opportunity/deal.
  - `name` string, nullable — Opportunity name
  - `stage` string, nullable — Possible values: draft, prospecting, discovery, developing, negotiation_review, contract_pending, closed_won, closed_lost
  - `value_of_sale` number, nullable — Deal amount
  - `probability_pcnt` number, nullable — Win probability 0-1 (e.g. 0.75 = 75%)
  - `expected_close_date` integer, nullable — Expected close date (epoch timestamp)
  - `marketing_source` string, nullable — Marketing source name
  - `business_need_description` string, nullable — Business need / pain points
  - `product_dict_list` unknown[], nullable — Array of product objects, e.g. [{"product_id":"...","unit_amount":50000,"unit_count":1}]
    - unknown

## Response `200`

Successful Response

- DealResponse
  - `id` string, required
  - `name` string, required
  - `stage` string, required
  - `marketing_source` string, nullable
  - `agent_name` string, nullable
  - `agent_email` string, nullable
  - `agent_phone` string, nullable
  - `contact_name` string, nullable
  - `contact_email` string, nullable
  - `contact_phone` string, nullable
  - `account_name` string, nullable
  - `account_email` string, nullable
  - `product_dict_list` unknown[], nullable
    - unknown
  - `value_of_sale` string, nullable
  - `estimated_value_of_sale` string, nullable
  - `created_date` string, nullable
  - `updated_date` string, nullable
  - `expected_close_date` string, nullable
  - `close_date` string, nullable
  - `renewal_date` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/ambivo/apis/ambivo-api.md) · [All operations](https://skmtc.net/ambivo/apis/ambivo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ambivo/ambivo-api/versions/165a6d16a9a0/schema)
