Update an opportunity

Queues a partial update against the Cloud Channel API. The exact
behavior depends on tackle-operation-id:

  • updateOpportunity (default): requires cosell:UpdateOpportunity.
    If the resulting state transitions the opportunity to SUBMITTED
    (from anything other than SUBMITTED), cosell:StartEngagement
    is additionally required and the effective operation is treated
    as submitOpportunity.
  • updateDraftOpportunity: requires
    cosell:UpdateOpportunity.
  • submitOpportunity: forces state to SUBMITTED; requires
    cosell:StartEngagement.
  • closeWonOpportunity / closeLostOpportunity: request a close;
    requires cosell:UpdateOpportunity.
  • retryCreateOpportunity: requeue a create that previously
    failed; requires cosell:UpdateOpportunity and
    legalLanguageAccepted: true.
  • Test-environment-only:
    acceptOpportunity, rejectOpportunity,
    closeByAdminOpportunity, confirmCloseWonOpportunity,
    confirmCloseLostOpportunity. These simulate Google-side actions
    and attribute the resulting history event to Google.

The response returns a requestId identifying the enqueued cloud
operation; poll GET /api/opportunities/{id}/events or
GET /api/opportunities/{id} to observe the outcome.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The Tackle-side opportunity identifier.

Body Params

Tackle's opportunity payload. Mirrors the Google Cloud Channel
Opportunity (v1alpha1) schema and adds a $tkl-metadata
block carrying Tackle-specific state — CRM linkage,
attribute-syncing subscription ID, and Salesforce sync error
summary.

$tkl-metadata
object

Tackle-specific metadata attached to every opportunity. Carried in
the $tkl-metadata key of the payload.

string

Resource name of the opportunity in the form
opportunities/{opportunity_id}. Populated by Google Cloud
Channel after the first successful create; integrators
should treat this field as read-only — values supplied on
create or update are ignored.

string

Output only. Display name for the customer organization as
resolved by Google Cloud Channel. May be normalized or
disambiguated relative to the
customerInfo.customerDetails.organizationName value
submitted on create.

string
enum

Lifecycle state of the opportunity:

  • STATE_UNSPECIFIED — placeholder default; should not be
    sent on requests.
  • DRAFT — saved but not yet submitted to Google. Settable
    by integrators.
  • SUBMITTED — submitted to Google for review. Settable by
    integrators (requires cosell:StartEngagement).
  • ACCEPTED — Google has accepted the opportunity. Set by
    Google.
  • NOT_ACCEPTED — Google has declined the opportunity. Set
    by Google.

Defaults to DRAFT when omitted on create.

Allowed:
string

Output only. Reason the opportunity was not accepted.

string
enum

Sales stage of the opportunity. The STAGE_UNSPECIFIED,
MIGRATION_IMPL, CLOSED_LOST, and CLOSED_ADMIN values
are set only by the API on the integrator's behalf based on
other fields (for example, partnerInfo.partnerReadyToClose);
they cannot be set directly. The remaining values
(QUALIFY, REFINE, TECH_EVAL_SOL_DEV,
PROPOSAL_NEGOTIATION) can be set on update only after the
opportunity is ACCEPTED.

  • QUALIFY — initial qualification.
  • REFINE — qualification refined; deal scope being shaped.
  • TECH_EVAL_SOL_DEV — technical evaluation / solution
    development.
  • PROPOSAL_NEGOTIATION — proposal and negotiation.
  • MIGRATION_IMPL — migration / implementation; corresponds
    to closed-won.
  • CLOSED_LOST — opportunity closed as lost.
  • CLOSED_ADMIN — administratively closed.
string

Output only. Name of the Google field sales representative
(FSR) who owns the opportunity inside Google.

string

Output only. Email of the Google field sales representative
(FSR) who owns the opportunity inside Google.

string

Output only. Email associated with the creator of the
opportunity. For opportunities created via this API, this
is the email associated with the integrator's M2M client
credentials (see the Authentication section in the spec
description). For opportunities created elsewhere (such as
the Tackle UI), this is the human user's email.

string
enum

Indicates the origin of the opportunity:

  • SOURCE_UNKNOWN — origin not recorded; should not be
    observed on supported responses.
  • GOOGLE — sourced by a Google sales user.
  • GOOGLE_BDR — sourced by a Google Business Development
    Representative.
  • GOOGLE_PROGRAMMATIC — generated by a Google automated
    system.
  • PARTNER — sourced by the partner (the integrator). The
    API forces this value on opportunities created via this
    spec.
Allowed:
opportunityInfo
object

Contains details about the opportunity.

qualificationInfo
object

Qualification information for the opportunity.

customerInfo
object

Customer information provided during opportunity creation.

isvSolutionConnectInfo
object

Information for an opportunity that goes through Google's ISV
Solution Connect program.

partnerInfo
object

Partner information populated after the opportunity is accepted.

salesCycle
object

Information on the sales cycle.

winLossInfo
object

Win / loss details. Populated after the opportunity is closed.
Output only.

opportunityLines
array of objects

Output only. Populated after the opportunity is accepted.

opportunityLines
opportunityTeamMembers
array of objects

Output only. Populated after the opportunity is accepted.

opportunityTeamMembers
customerContacts
array of objects

Output only. Populated after the opportunity is accepted.

customerContacts
rebateExtensions
array of objects

Output only.

rebateExtensions
date-time

Output only. Timestamp when the opportunity was created.

date-time

Output only. Timestamp when the opportunity was last updated.

string

Output only. Opportunity ID in Google's legacy Partner
Advantage Portal. Useful for integrators reconciling Cloud
Channel opportunities with records that originated in
Partner Advantage; can be ignored by integrators that work
only with Cloud Channel.

string
enum

Indicates if the opportunity is a regular / ISV / 2-tier deal. If
not specified, treated as REGULAR. Cannot be edited after the
opportunity is accepted.

Allowed:
string

Optional. User email that created the opportunity through an
integrator. Only used for integrator-created opportunities. Can
only be set on create and cannot be edited thereafter.

Headers
string
enum

Narrows the effective operation on POST /api/opportunities/{id}.
See the operation description for the accepted values and the
permissions required for each. Create-only values
(createOpportunity, createDraftOpportunity) are rejected with
a 400 Bad Request because creates must be sent to
POST /api/opportunities instead.

Responses

Language
Credentials
Bearer
MTM JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json