curl --request GET \
--url https://app.octavehq.com/api/v2/opportunity-watch/list \
--header 'api_key: <api-key>'import requests
url = "https://app.octavehq.com/api/v2/opportunity-watch/list"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.octavehq.com/api/v2/opportunity-watch/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.octavehq.com/api/v2/opportunity-watch/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.octavehq.com/api/v2/opportunity-watch/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.octavehq.com/api/v2/opportunity-watch/list")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.octavehq.com/api/v2/opportunity-watch/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"data": [
{
"enrollment": {
"oId": "<string>",
"state": "auto_included",
"routedTier": "NOTE",
"lastRunAt": "<string>"
},
"policy": {
"oId": "<string>",
"name": "<string>"
},
"opportunity": {
"oId": "<string>",
"name": "<string>",
"amount": 123,
"currency": "<string>",
"stageName": "<string>",
"stageCategory": "open",
"dealType": "<string>",
"closeDate": "<string>",
"crmAccountName": "<string>",
"crmAccountDomain": "<string>",
"ownerName": "<string>",
"createdDate": "<string>"
},
"accountLogo": "<string>",
"lastActivityAt": "<string>",
"fit": {
"score": 50,
"band": "strong"
},
"health": "at_risk",
"topSuggestedAction": {
"actionKey": "<string>",
"headline": "<string>",
"rationale": "<string>",
"urgency": "low"
},
"accountDealCount": 1
}
],
"total": 123,
"hasNext": true
}{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"message": "<string>"
}List Deal Pulse Opportunities
List CRM opportunities monitored by Deal Pulse, the pipeline intelligence loop. Each row pairs the enrollment (state, routed model tier, last run time) and its policy with the opportunity, its ICP Fit score, its latest health_check classification, and its top suggested action, when generated. Filter by policyOId, enrollment state, CRM stageCategory, dealType, or a name substring search.
curl --request GET \
--url https://app.octavehq.com/api/v2/opportunity-watch/list \
--header 'api_key: <api-key>'import requests
url = "https://app.octavehq.com/api/v2/opportunity-watch/list"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.octavehq.com/api/v2/opportunity-watch/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.octavehq.com/api/v2/opportunity-watch/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.octavehq.com/api/v2/opportunity-watch/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.octavehq.com/api/v2/opportunity-watch/list")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.octavehq.com/api/v2/opportunity-watch/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"data": [
{
"enrollment": {
"oId": "<string>",
"state": "auto_included",
"routedTier": "NOTE",
"lastRunAt": "<string>"
},
"policy": {
"oId": "<string>",
"name": "<string>"
},
"opportunity": {
"oId": "<string>",
"name": "<string>",
"amount": 123,
"currency": "<string>",
"stageName": "<string>",
"stageCategory": "open",
"dealType": "<string>",
"closeDate": "<string>",
"crmAccountName": "<string>",
"crmAccountDomain": "<string>",
"ownerName": "<string>",
"createdDate": "<string>"
},
"accountLogo": "<string>",
"lastActivityAt": "<string>",
"fit": {
"score": 50,
"band": "strong"
},
"health": "at_risk",
"topSuggestedAction": {
"actionKey": "<string>",
"headline": "<string>",
"rationale": "<string>",
"urgency": "low"
},
"accountDealCount": 1
}
],
"total": 123,
"hasNext": true
}{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"message": "<string>"
}Authorizations
Query Parameters
Restrict to opportunities enrolled under this Deal Pulse policy.
Restrict to enrollments in this state.
auto_included, pinned, excluded Restrict to opportunities in this CRM stage category.
open, closed_won, closed_lost, other Restrict to opportunities with this CRM deal-type picklist value (Salesforce Type, HubSpot dealtype), matched exactly.
Case-insensitive substring match against the opportunity name.
Page size (default: 25, max: 100).
1 <= x <= 10025
Pagination offset (default: 0).
x >= 00