Update Opportunity
Update an existing opportunity. Supports partial updates.
Updatable fields:
- Standard fields (value, size, status, confidence, etc.)
- Workflow fields (workflowId, phaseId)
- Contact information (primaryEmail, primaryPhone)
- Contacts (contact IDs only, no name, email, phone, etc.)
- Custom fields (through custom object)
Note: Updates are atomic - either all fields update or none do.
Changing account association is not supported via update. To move an opportunity to a different account, delete and re-create it under the new account.
Note: The /requests path is an alias for /opportunities and will continue to work until users are individually notified and migrated.
Authentication
Path parameters
Query parameters
Request
Opportunity title/name
An array containing a single string, which represents the full opportunity location/address.
Deal confidence score (0-100)
Status of the opportunity:
ACTIVE- Opportunity is openON_HOLD- Opportunity is temporarily pausedWON- Opportunity was wonLOST- Opportunity was lost
Contact IDs only (no name, email, phone, etc.). The contacts must be created first via POST /contacts. The first ID in the array is treated as the primary contact.
Response
Record title/name
An array containing a single string, which represents the full opportunity location/address.
User who created the record. Null when the record was created by a non-user actor (e.g. automation or a contact).
User who last edited a field on the record, derived from the changelog. Null when the record has never been edited or the last edit was made by a non-user actor. Returned by single-record GET only; list and search responses omit it.
Deal confidence score (0-100)
Status of the opportunity:
ACTIVE- Opportunity is openON_HOLD- Opportunity is temporarily pausedWON- Opportunity was wonLOST- Opportunity was lost
Latitude/Longitude in “lat,lon” format. Read-only here — settable only via PATCH /sites/{id} on the linked site.
Image URL for the opportunity. Read-only — not settable via this API.
Street view image URL. Read-only — derived from geoLocation, not settable directly.
Only present on GET /opportunities and /opportunities/search when entered_phase_id/exited_phase_id is used to filter the results. Contains the deal’s full phase-transition history (not just the matched phase) in compact form — use GET /opportunities/{opportunity_id} for the complete phaseInstances with names, positions, and SLA info.
Contacts associated with this opportunity (independent of, and not inherited from, the parent account’s contacts). Set on create or update via the contacts request field. On GET requests, only populated when include_contacts=true is passed. Always populated on POST (create) and PATCH (update) responses. Ordered with the primary contact first, capped at 20 contacts.
