opportunities

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.

patch/opportunities/{opportunity_id}

Request

  • Base URL: https://api.coperniq.io/v1
  • URL: https://api.coperniq.io/v1/opportunities/{opportunity_id}
  • Auth: API key in header x-api-key

Path parameters

opportunity_idinteger required

Opportunity identifier

Query parameters

allow_new_optionsboolean

Whether to allow creation of new dropdown options during record creation

Request body

titlestring required

Opportunity title/name

descriptionstring nullable

Opportunity description

addressstring[] required

An array containing a single string, which represents the full opportunity location/address.

tradesTradeType[] required

Array of trade types

accountIdinteger

ID of associated account. Only accepted on create.

workflowIdinteger nullable

ID of associated workflow

phaseIdinteger nullable

ID of associated phase template

ownerIdinteger nullable

ID of the owning user

salesRepIdinteger nullable

ID of the assigned sales rep

projectManagerIdinteger nullable

ID of the assigned project manager

valuenumber double

Project value

sizenumber double

Project size

confidencenumber double nullable

Deal confidence score (0-100)

status'ACTIVE' | 'ON_HOLD' | 'WON' | 'LOST'

Status of the opportunity:

  • ACTIVE - Opportunity is open
  • ON_HOLD - Opportunity is temporarily paused
  • WON - Opportunity was won
  • LOST - Opportunity was lost
primaryEmailstring email

Primary contact email

primaryPhonestring

Primary contact phone

contactsinteger[]

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.

customobject

Custom fields

Response

Opportunity updated successfully

idinteger

Unique identifier

createdAtstring date-time

Creation timestamp

updatedAtstring date-time

Timestamp of the most recent update to the record, including changes to its custom property values.

titlestring

Record title/name

descriptionstring nullable

Record description

addressstring[]

An array containing a single string, which represents the full opportunity location/address.

isActiveboolean

Whether the record is active

primaryEmailstring email nullable

Primary contact email

primaryPhonestring nullable

Primary contact phone

numberinteger

Sequential opportunity number

customobject

Custom fields

tradesTradeType[]

Array of trade types

valuenumber double nullable

Deal value

sizenumber double nullable

Deal size

confidencenumber double nullable

Deal confidence score (0-100)

status'ACTIVE' | 'ON_HOLD' | 'WON' | 'LOST'

Status of the opportunity:

  • ACTIVE - Opportunity is open
  • ON_HOLD - Opportunity is temporarily paused
  • WON - Opportunity was won
  • LOST - Opportunity was lost
workflowIdinteger nullable

Associated workflow ID

accountIdinteger nullable

Associated account ID

geoLocationstring[]

Latitude/Longitude in "lat,lon" format. Read-only here — settable only via PATCH /sites/{id} on the linked site.

imageUrlstring nullable

Image URL for the opportunity. Read-only — not settable via this API.

streetViewUrlstring nullable

Street view image URL. Read-only — derived from geoLocation, not settable directly.

citystring
zipcodestring
statestring
streetstring
lastActivitystring date-time nullable
phaseIdinteger nullable
workflowNamestring

Name of the associated workflow.

Changes

No recorded changes to this operation across all 1 revision of this API.