Create Objection
curl --request POST \
--url https://app.octavehq.com/api/v2/objection/create \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"name": "Too expensive for our stage",
"internalName": "<string>",
"description": "<string>",
"underlyingConcern": "<string>",
"assumptionsAndMisconceptions": [
"<string>"
],
"areasToProbeAndClarify": [
"<string>"
],
"reframeAndResponse": [
"<string>"
],
"customFields": [
{
"title": "<string>",
"value": [
"<string>"
]
}
],
"primaryOfferingOId": "o_123456",
"linkingStrategy": {
"mode": "ALL"
}
}
'import requests
url = "https://app.octavehq.com/api/v2/objection/create"
payload = {
"name": "Too expensive for our stage",
"internalName": "<string>",
"description": "<string>",
"underlyingConcern": "<string>",
"assumptionsAndMisconceptions": ["<string>"],
"areasToProbeAndClarify": ["<string>"],
"reframeAndResponse": ["<string>"],
"customFields": [
{
"title": "<string>",
"value": ["<string>"]
}
],
"primaryOfferingOId": "o_123456",
"linkingStrategy": { "mode": "ALL" }
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Too expensive for our stage',
internalName: '<string>',
description: '<string>',
underlyingConcern: '<string>',
assumptionsAndMisconceptions: ['<string>'],
areasToProbeAndClarify: ['<string>'],
reframeAndResponse: ['<string>'],
customFields: [{title: '<string>', value: ['<string>']}],
primaryOfferingOId: 'o_123456',
linkingStrategy: {mode: 'ALL'}
})
};
fetch('https://app.octavehq.com/api/v2/objection/create', 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/objection/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Too expensive for our stage',
'internalName' => '<string>',
'description' => '<string>',
'underlyingConcern' => '<string>',
'assumptionsAndMisconceptions' => [
'<string>'
],
'areasToProbeAndClarify' => [
'<string>'
],
'reframeAndResponse' => [
'<string>'
],
'customFields' => [
[
'title' => '<string>',
'value' => [
'<string>'
]
]
],
'primaryOfferingOId' => 'o_123456',
'linkingStrategy' => [
'mode' => 'ALL'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.octavehq.com/api/v2/objection/create"
payload := strings.NewReader("{\n \"name\": \"Too expensive for our stage\",\n \"internalName\": \"<string>\",\n \"description\": \"<string>\",\n \"underlyingConcern\": \"<string>\",\n \"assumptionsAndMisconceptions\": [\n \"<string>\"\n ],\n \"areasToProbeAndClarify\": [\n \"<string>\"\n ],\n \"reframeAndResponse\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ],\n \"primaryOfferingOId\": \"o_123456\",\n \"linkingStrategy\": {\n \"mode\": \"ALL\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.octavehq.com/api/v2/objection/create")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Too expensive for our stage\",\n \"internalName\": \"<string>\",\n \"description\": \"<string>\",\n \"underlyingConcern\": \"<string>\",\n \"assumptionsAndMisconceptions\": [\n \"<string>\"\n ],\n \"areasToProbeAndClarify\": [\n \"<string>\"\n ],\n \"reframeAndResponse\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ],\n \"primaryOfferingOId\": \"o_123456\",\n \"linkingStrategy\": {\n \"mode\": \"ALL\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.octavehq.com/api/v2/objection/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Too expensive for our stage\",\n \"internalName\": \"<string>\",\n \"description\": \"<string>\",\n \"underlyingConcern\": \"<string>\",\n \"assumptionsAndMisconceptions\": [\n \"<string>\"\n ],\n \"areasToProbeAndClarify\": [\n \"<string>\"\n ],\n \"reframeAndResponse\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ],\n \"primaryOfferingOId\": \"o_123456\",\n \"linkingStrategy\": {\n \"mode\": \"ALL\"\n }\n}"
response = http.request(request)
puts response.read_body{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"data": {
"oId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"name": "<string>",
"internalName": "<string>",
"description": "<string>",
"deletedAt": "<string>",
"archivedAt": "<string>",
"active": true,
"data": {
"underlyingConcern": "<string>",
"assumptionsAndMisconceptions": [
"<string>"
],
"areasToProbeAndClarify": [
"<string>"
],
"reframeAndResponse": [
"<string>"
],
"customFields": [
{
"title": "<string>",
"value": [
"<string>"
]
}
]
},
"user": {
"oId": "<string>",
"firstName": "John",
"lastName": "Doe"
},
"workspace": {
"oId": "<string>"
}
}
}{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"message": "<string>"
}Objection
Create Objection
Create a new objection
POST
/
api
/
v2
/
objection
/
create
Create Objection
curl --request POST \
--url https://app.octavehq.com/api/v2/objection/create \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"name": "Too expensive for our stage",
"internalName": "<string>",
"description": "<string>",
"underlyingConcern": "<string>",
"assumptionsAndMisconceptions": [
"<string>"
],
"areasToProbeAndClarify": [
"<string>"
],
"reframeAndResponse": [
"<string>"
],
"customFields": [
{
"title": "<string>",
"value": [
"<string>"
]
}
],
"primaryOfferingOId": "o_123456",
"linkingStrategy": {
"mode": "ALL"
}
}
'import requests
url = "https://app.octavehq.com/api/v2/objection/create"
payload = {
"name": "Too expensive for our stage",
"internalName": "<string>",
"description": "<string>",
"underlyingConcern": "<string>",
"assumptionsAndMisconceptions": ["<string>"],
"areasToProbeAndClarify": ["<string>"],
"reframeAndResponse": ["<string>"],
"customFields": [
{
"title": "<string>",
"value": ["<string>"]
}
],
"primaryOfferingOId": "o_123456",
"linkingStrategy": { "mode": "ALL" }
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Too expensive for our stage',
internalName: '<string>',
description: '<string>',
underlyingConcern: '<string>',
assumptionsAndMisconceptions: ['<string>'],
areasToProbeAndClarify: ['<string>'],
reframeAndResponse: ['<string>'],
customFields: [{title: '<string>', value: ['<string>']}],
primaryOfferingOId: 'o_123456',
linkingStrategy: {mode: 'ALL'}
})
};
fetch('https://app.octavehq.com/api/v2/objection/create', 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/objection/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Too expensive for our stage',
'internalName' => '<string>',
'description' => '<string>',
'underlyingConcern' => '<string>',
'assumptionsAndMisconceptions' => [
'<string>'
],
'areasToProbeAndClarify' => [
'<string>'
],
'reframeAndResponse' => [
'<string>'
],
'customFields' => [
[
'title' => '<string>',
'value' => [
'<string>'
]
]
],
'primaryOfferingOId' => 'o_123456',
'linkingStrategy' => [
'mode' => 'ALL'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.octavehq.com/api/v2/objection/create"
payload := strings.NewReader("{\n \"name\": \"Too expensive for our stage\",\n \"internalName\": \"<string>\",\n \"description\": \"<string>\",\n \"underlyingConcern\": \"<string>\",\n \"assumptionsAndMisconceptions\": [\n \"<string>\"\n ],\n \"areasToProbeAndClarify\": [\n \"<string>\"\n ],\n \"reframeAndResponse\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ],\n \"primaryOfferingOId\": \"o_123456\",\n \"linkingStrategy\": {\n \"mode\": \"ALL\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.octavehq.com/api/v2/objection/create")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Too expensive for our stage\",\n \"internalName\": \"<string>\",\n \"description\": \"<string>\",\n \"underlyingConcern\": \"<string>\",\n \"assumptionsAndMisconceptions\": [\n \"<string>\"\n ],\n \"areasToProbeAndClarify\": [\n \"<string>\"\n ],\n \"reframeAndResponse\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ],\n \"primaryOfferingOId\": \"o_123456\",\n \"linkingStrategy\": {\n \"mode\": \"ALL\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.octavehq.com/api/v2/objection/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Too expensive for our stage\",\n \"internalName\": \"<string>\",\n \"description\": \"<string>\",\n \"underlyingConcern\": \"<string>\",\n \"assumptionsAndMisconceptions\": [\n \"<string>\"\n ],\n \"areasToProbeAndClarify\": [\n \"<string>\"\n ],\n \"reframeAndResponse\": [\n \"<string>\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ],\n \"primaryOfferingOId\": \"o_123456\",\n \"linkingStrategy\": {\n \"mode\": \"ALL\"\n }\n}"
response = http.request(request)
puts response.read_body{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"data": {
"oId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"name": "<string>",
"internalName": "<string>",
"description": "<string>",
"deletedAt": "<string>",
"archivedAt": "<string>",
"active": true,
"data": {
"underlyingConcern": "<string>",
"assumptionsAndMisconceptions": [
"<string>"
],
"areasToProbeAndClarify": [
"<string>"
],
"reframeAndResponse": [
"<string>"
],
"customFields": [
{
"title": "<string>",
"value": [
"<string>"
]
}
]
},
"user": {
"oId": "<string>",
"firstName": "John",
"lastName": "Doe"
},
"workspace": {
"oId": "<string>"
}
}
}{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"message": "<string>"
}Authorizations
Body
application/json
Objection creation input
External name of the objection
Minimum string length:
1Example:
"Too expensive for our stage"
Internal name of the objection
Description of the objection
What the buyer is really worried about
Mistaken beliefs to address (bullet strings)
Discovery questions or topics to clarify
How to reframe and respond (bullet strings)
Custom fields
Show child attributes
Show child attributes
Primary offering for context when creating the entity (optional).
Example:
"o_123456"
Strategy for linking this objection to offerings (products/services/solutions)
- Option 1
- Option 2
Show child attributes
Show child attributes
⌘I