Skip to main content
PATCH
Update an opportunity

Authorizations

Authorization
string
header
required

OAuth 2.0 authorization code flow with PKCE (S256). See the authorization guide.

Scopes

opportunities:write

Create and update your opportunities, including their pipeline, stage and status

Path Parameters

opportunity_id
string<uuid>
required

Body

application/json

Omitted fields stay unchanged. Moves and status changes are ordinary updates, last write wins.

tag_ids
string<uuid>[]

Active same-firm tag ids. Requires the resource write scope, not tags:write. Omit to preserve, [] to clear; null is rejected. Replaces the entire tag set.

Maximum array length: 100
name
string
Required string length: 1 - 200
description
string | null

Markdown or plain text, never HTML. Empty text clears it.

Maximum string length: 100000
pipeline_id
string<uuid>

A pipeline from GET /opportunity_pipelines. Changing it defaults to its first stage unless stage_id is also sent.

stage_id
string<uuid>

A stage of the selected pipeline. Defaults to its first stage on create. Cannot be null.

status
enum<string>
Available options:
open,
won,
lost
amount
number | null

A finite amount in the firm's currency. Null clears it.

Required range: x >= 0
probability
integer | null
Required range: 0 <= x <= 100
expected_close_date
string<date> | null
close_date
string<date> | null

Only for won or lost opportunities. Closing from open defaults to today in the connected user's timezone. Reopening clears it; an already closed opportunity cannot have its date cleared.

assignee_id
string<uuid> | null

An active user from GET /users. Omitted on create assigns the connected user; null leaves it unassigned. A new assignee is notified in Vega, without email.

Response

The committed opportunity id.

The committed opportunity id. Read GET /opportunities/{id} with opportunities:read for its current state.

id
string<uuid>
required