Skip to main content
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

api_key
string
header
required

Body

application/json

Objection creation input

name
string
required

External name of the objection

Minimum string length: 1
Example:

"Too expensive for our stage"

internalName
string

Internal name of the objection

description
string

Description of the objection

underlyingConcern
string

What the buyer is really worried about

assumptionsAndMisconceptions
string[]

Mistaken beliefs to address (bullet strings)

areasToProbeAndClarify
string[]

Discovery questions or topics to clarify

reframeAndResponse
string[]

How to reframe and respond (bullet strings)

customFields
object[]

Custom fields

primaryOfferingOId
string

Primary offering for context when creating the entity (optional).

Example:

"o_123456"

linkingStrategy
object

Strategy for linking this objection to offerings (products/services/solutions)

Response

Objection created successfully

_metadata
object
required
data
object
required