How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Tackle.io Opportunities API

Create, read, update, and list co-sell opportunities — the partner-originated (Outbound / Partner Referral) and AWS-originated (Inbound/ AWS Referral) deals tracked in AWS Partner Central. Includes theopportunity history endpoint for inspecting cloud-side request andresponse detail.

Tackle.io Opportunities API is one of 28 APIs that Tackle.io publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Opportunities. The published artifact set on APIs.io includes an OpenAPI specification and an API reference.

This API exposes 8 operations across 5 paths, and defines 78 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://contracts.tackle.io.

8 operations 5 paths 78 schemas 5 GET3 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://api.tackle.io
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Tackle.io Opportunities API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (JWT) (tackleJwt). By default, every request must be authenticated.

  • tackleJwt — Tackle-issued JWT (interactive user or MTM token).

Paths & Operations 8

Across 5 paths, the API surfaces 8 operations — 5 GET, 3 POST. Each is listed below with its method, path, parameters, and response codes.

Opportunities 8

Create, read, update, and list co-sell opportunities — the partner- originated (Outbound / Partner Referral) and AWS-originated (Inbound / AWS Referral) deals tracked in AWS Partn…

GET
/api/opportunities
List co-sell opportunities
listOpportunities 17 params → 200400401500
POST
/api/opportunities
Create a co-sell opportunity
createOpportunity 1 param body → 202400401409500
GET
/api/opportunities/{opportunity_id}
Get a co-sell opportunity
getOpportunity 1 param → 200401404500
POST
/api/opportunities/{opportunity_id}
Update a co-sell opportunity
updateOpportunity 2 params body → 202400401404409423500
GET
/api/opportunities/{opportunity_id}/events
List opportunity events
listOpportunityEvents 2 params → 200401500
GET
/api/opportunities/{id}
Get an opportunity by ID
getOpportunity 1 param → 200400401403404500
POST
/api/opportunities/{id}
Update an opportunity
updateOpportunity 2 params body → 202400401403404409423500
GET
/api/opportunities/{id}/events
List the event history for an opportunity
listOpportunityHistory 3 params → 200400401403500

Schemas 78

The contract defines 78 schemas that model the data the API accepts and returns. The most detailed are Opportunity_2 (26 properties), ListOpportunitiesResponseItem (19 properties), OpportunityMetadata (19 properties), QualificationInfo (16 properties). Each schema is shown below with its type and property counts.

Error_2
object
Error response body. The service emits only a human-readable message. A request identifier may be included in response headers for support and troubleshooting.
1 property
OpportunityType
string
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.
DeliveryModel
string
Delivery model for an ISV opportunity.
RebateExtension
object
Rebate extension. Output only.
5 properties
CreateOpportunityInput
object
4 properties
ExtensionReason
string
Rebate extension reason. Output only.
OpportunityHistoryEventActivityDetails
object
Human-readable details about a history event, intended for display in opportunity audit trails.
2 properties
Project
object
12 properties
Address
object
5 properties
PostalAddress
object
A structured postal address compatible with Google's address formatting model. For most regions, populate regionCode, addressLines, locality, and postalCode; t…
11 properties
Money
object
An amount of money with its currency type. The whole Money object is replaced atomically when included on update — there is no per-field merge of currencyCode,…
3 properties
OpportunityInput
object
1 property
Customer
object
2 properties
AwsOpportunityTeam
object
4 properties
ExtensionRejectionReason
string
Rebate extension rejection reason. Output only.
OpportunityHistoryEventPrincipal
object
Actor attribution for a history event. For test-environment-only operations (acceptOpportunity, rejectOpportunity, closeByAdminOpportunity, confirmCloseWonOppo…
6 properties
ListOpportunitiesResponse
object
5 properties
Region
string
Geographical region where the end customer is located. The partner needs sell authorization in this region to qualify for deal registration incentives.
LifeCycle
object
8 properties
UpdateOpportunityResponse
object
1 property 1 required
Contact
object
Contact details.
4 properties
Contacts
array
OpportunityCRMInfo
object
CRM linkage for the opportunity. Both fields are nullable so that callers can explicitly clear them.
2 properties
Timeline
string
Timeline qualification.
OpportunityResponse
object
9 properties
OpportunityMetadata
object
19 properties 4 required
SoftwareRevenue
object
4 properties
State
string
Lifecycle state of the opportunity: - STATEUNSPECIFIED — placeholder default; should not be sent on requests. - DRAFT — saved but not yet submitted to Google.…
Stage
string
Sales stage of the opportunity. The STAGEUNSPECIFIED, MIGRATIONIMPL, CLOSEDLOST, and CLOSEDADMIN values are set only by the API on the integrator's behalf base…
Date
object
A calendar date. Any field may be zero to represent a partial date (for example, year: 2026, month: 0, day: 0 for "sometime in 2026"). The whole Date object is…
3 properties
PartnerInfo
object
Partner information populated after the opportunity is accepted.
11 properties
OperationType
string
Transaction type for the opportunity: - OPERATIONTYPEUNSPECIFIED — placeholder default; should not be sent on create. - NEW — net-new transaction with a new cu…
Opportunity
object
12 properties
PhoneNumber
object
Wire-format phone number. See https://github.com/google/libphonenumber.
3 properties
TackleOperationIdUpdate
string
Tackle-side operation identifier accepted on the tackle-operation-id header by POST /api/opportunities/{id}. The create-side values (createOpportunity, createD…
Need
string
Need qualification.
Source
string
Indicates the origin of the opportunity: - SOURCEUNKNOWN — origin not recorded; should not be observed on supported responses. - GOOGLE — sourced by a Google s…
ListOpportunityEvents
object
8 properties 3 required
UpdateOpportunityRequest
Tackle-shaped opportunity payload for update. Only the fields the caller wants to change need to be present; the server merges with the existing opportunity. T…
CustomerDetails
object
Customer details used to create a new customer or map to an existing one.
5 properties
OpportunityLine
object
Opportunity line item. Output only.
7 properties
CustomerInfo
object
Customer information provided during opportunity creation.
3 properties
DataMapper
object
1 property
Account
object
7 properties
SupportLevel
string
Support level for an ISV opportunity.
Marketing
object
5 properties
HistoryOperationId
string
Operation identifier stored on history events returned by GET /api/opportunities/{id}/events. Treated as a free-form string on the wire: the documented values…
ProductCategory
string
Product category that the opportunity belongs to.
Industry
string
Customer's primary industry.
OpportunityTeamMember
object
Opportunity team member. Output only.
3 properties
QualificationInfo
object
Qualification information for the opportunity.
16 properties
AccessLevel
string
Access level for an opportunity team member.
PartnerReadyToClose
string
Partner ready-to-close indicator. Can be edited after the opportunity is accepted. Setting to MIGRATIONIMPL corresponds to Closed/Won; setting to CLOSEDLOST co…
Opportunity_2
object
Tackle's opportunity payload. Mirrors the Google Cloud Channel Opportunity (v1alpha1) schema and adds a $tkl-metadata block carrying Tackle-specific state — CR…
26 properties
WinLossInfo
object
Win / loss details. Populated after the opportunity is closed. Output only.
7 properties
ProductFamily
string
Product family that the opportunity belongs to.
PhoneNumberShortCode
object
A short code — region-restricted phone number.
2 properties
Authority
string
Authority qualification.
OpportunityMetadata_2
object
Tackle-specific metadata attached to every opportunity. Carried in the $tkl-metadata key of the payload.
13 properties
Error
object
Error envelope returned for typed error responses. Some 4xx and 5xx responses (such as direct Unauthorized and Internal Server Error responses) may instead ret…
1 property
OpportunityHistoryEvent
object
10 properties 4 required
OpportunityHistoryEventCloudResponse
object
The Google Cloud Channel response received for a corresponding OpportunityHistoryEventCloudRequest.
5 properties 2 required
Budget
string
Budget qualification. Required for regular and 2-tier opportunities; optional for ISV opportunities.
OpportunityAttributeSyncing
object
Subscription information for opportunities whose attributes are kept in sync with an upstream data source through Tackle's Data Mapper feature. Present only wh…
1 property
ListOpportunityHistoryResponse
object
2 properties 1 required
ListOpportunitiesResponseItem
object
19 properties
OpportunityInfo
object
Contains details about the opportunity.
9 properties
IncentiveType
string
Output only. Incentive program the opportunity is eligible for: - INCENTIVETYPEUNSPECIFIED — eligibility not yet determined. - DEALREGISTRATION — partner regis…
PartnerViewType
string
Indicates what view the partner has access to. Non-sourcing service partners have limited view; no updates are allowed on the opportunity in LIMITED view. Outp…
ExtensionStatus
string
Rebate extension status. Output only.
IsvSolutionConnectInfo
object
Information for an opportunity that goes through Google's ISV Solution Connect program.
7 properties
SalesCycle
object
Information on the sales cycle.
4 properties
DecisionPhase
string
Decision phase for the opportunity.
ContractVehicle
string
Contract vehicle for an ISV opportunity.
OpportunityHistoryEventCloudRequest
object
One Google Cloud Channel call made on behalf of an opportunity history event. A single event may include multiple cloud requests (for example, when a sub-flow…
4 properties 3 required
CustomerContact
object
Customer contact. Output only.
5 properties
Role
string
Role of a customer contact. Most values are role categories that apply to any opportunity; CHRONICLESIEMCONTACT and CHRONICLESOARCONTACT are specific to engage…
Insights
object
AWS-derived insights about the opportunity, populated by AWS Partner Central when available.
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

tackleio-opportunities-api-openapi.yml Raw ↑

Other APIs Tackle.io publishes across the network.

Tackle.io Authentication API
Tackle.io Contracts API
Tackle.io Currencies API
Tackle.io Customers API
Tackle.io Disbursements API
Tackle.io Entitlements API
Tackle.io Groups API
Tackle.io Invitations API
Tackle.io Invoices API
Tackle.io Marketplace API
Tackle.io Metering API
Tackle.io Notifications API
Where this information came from

This is an independent, third-party profile of Tackle.io Opportunities API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.