Get Opportunity

Retrieve a specific opportunity by ID **Note:** The `/requests` path is an alias for `/opportunities` and will continue to work until users are individually notified and migrated. **Note:** If the opportunity has no `title` (empty or whitespace-only), the response returns the parent account's `title` instead. The stored value is not modified — this is a read-time fallback only.

Authentication

x-api-keystring
API Key authentication via header

Path parameters

opportunity_idintegerRequired
Opportunity identifier

Query parameters

include_virtual_propertiesbooleanOptionalDefaults to false
Whether to include virtual properties in the response. Defaults to false unless explicitly set to true.
include_archivedbooleanOptionalDefaults to false

Whether to include archived (inactive) records in the response. By default only active records are returned.

include_contactsbooleanOptionalDefaults to false
Whether to include associated contacts in the response. Defaults to false unless explicitly set to true.

Response

Opportunity details
addresslist of stringsOptional

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

tradeslist of enumsOptional
Array of trade types
valuedouble or nullOptional
Deal value
sizedouble or nullOptional
Deal size
confidencedouble or nullOptional

Deal confidence score (0-100)

workflowIdinteger or nullOptional
Associated workflow ID
accountIdinteger or nullOptional
Associated account ID
geoLocationlist of stringsOptionalRead-only

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

imageUrlstring or nullOptionalRead-only

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

streetViewUrlstring or nullOptionalRead-only

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

citystringOptional
zipcodestringOptional
statestringOptional
streetstringOptional
phaseTimelinelist of objectsOptional

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.

ownerobject or nullOptional
salesRepobject or nullOptional
projectManagerobject or nullOptional
jurisdictionobject or nullOptional
lastActivitystring or nullOptionalformat: "date-time"
phaseIdinteger or nullOptional
numberintegerOptional
Sequential opportunity number
workflowNamestringOptional
Name of the associated workflow.
contactslist of objectsOptional

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.

phaseobject or nullOptional

Current phase (get by id only)

phaseInstanceslist of objectsOptional

Ordered list of phase instances for the opportunity (get by id only)

Errors

401
Unauthorized Error
404
Not Found Error