Skip to main content
POST
/
api
/
v2
/
playbook
/
create
Create Playbook
curl --request POST \
  --url https://app.octavehq.com/api/v2/playbook/create \
  --header 'Content-Type: application/json' \
  --header 'api_key: <api-key>' \
  --data '{
  "name": "<string>",
  "description": "<string>",
  "keyInsight": "<string>",
  "type": "LEGACY",
  "context": "<string>",
  "personaOIds": [
    "<string>"
  ],
  "useCaseOIds": [
    "<string>"
  ],
  "competitorOId": "<string>",
  "segmentOId": "<string>",
  "proofPointOIds": [
    "<string>"
  ],
  "referenceOIds": [
    "<string>"
  ],
  "createTemplates": true,
  "productOId": "<string>",
  "brandVoiceOId": "bv_123456",
  "status": "active",
  "referenceMode": "specific",
  "proofPointMode": "none",
  "additionalContextSources": [
    {
      "type": "URL",
      "value": "https://example.com/market-research"
    },
    {
      "type": "TEXT",
      "value": "Additional market insights about the target segment."
    }
  ]
}'
{
  "_metadata": {
    "usage": 0,
    "requestId": "requestId",
    "message": "message",
    "timestamp": "2021-01-01T00:00:00.000Z"
  },
  "playbook": {
    "oId": "<string>",
    "name": "<string>",
    "description": "<string>",
    "type": "LEGACY",
    "keyInsight": [
      "<string>"
    ]
  },
  "personas": [
    {
      "oId": "p_1234",
      "name": "VP of Sales",
      "internalName": "Sally the Sales Leader",
      "description": "<string>",
      "active": true,
      "data": {
        "internalName": "<string>",
        "primaryResponsibilities": [
          "Responsibility 1",
          "Responsibility 2"
        ],
        "painPoints": [
          "Pain Point 1",
          "Pain Point 2"
        ],
        "keyConcerns": [
          "Concern 1",
          "Concern 2"
        ],
        "keyObjectives": [
          "Objective 1",
          "Objective 2"
        ],
        "commonJobTitles": [
          "Job Title 1",
          "Job Title 2"
        ],
        "whyTheyMatterToUs": [
          "Reason 1",
          "Reason 2"
        ],
        "whyWeMatterToThem": [
          "Reason 1",
          "Reason 2"
        ],
        "customFields": [
          {
            "title": "<string>",
            "value": [
              "<string>"
            ]
          }
        ]
      },
      "qualifyingQuestions": [
        {
          "question": "<string>",
          "rationale": "<string>",
          "fitType": "GOOD",
          "weight": "MEDIUM",
          "archivedAt": "<string>"
        }
      ],
      "valueProps": [
        {
          "title": "<string>",
          "details": "<string>",
          "evidence": [
            "<string>"
          ]
        }
      ]
    }
  ]
}

Authorizations

api_key
string
header
required

Body

application/json

Playbook creation input

description
string
required

Description of the playbook

keyInsight
string
required

Key insight of the playbook

productOId
string
required

Product OId of the playbook

name
string | null

Name of the playbook

type
enum<string>

Type of the playbook. Legacy types are automatically mapped: SEGMENT→SECTOR, SIGNAL→MILESTONE, SPECIALIST→PRACTITIONER.

Available options:
LEGACY,
SECTOR,
SOLUTION,
MILESTONE,
PRACTITIONER,
COMPETITIVE,
ACCOUNT,
CUSTOM
context
string

Context of the playbook - used to help select Personas and Use Cases if none are provided

personaOIds
string[]

Persona OIds of the playbook

useCaseOIds
string[]

Use case OIds of the playbook

competitorOId
string

Competitor OId for competitive playbooks

segmentOId
string

Segment OId of the playbook

proofPointOIds
string[]

Proof point OIds of the playbook

referenceOIds
string[]

Reference OIds of the playbook

createTemplates
boolean

Create templates of the playbook

brandVoiceOId
string

Brand voice oId to apply to generated playbook

Example:

"bv_123456"

status
enum<string>
default:active

Status of the playbook

Available options:
active,
draft,
archived
Example:

"active"

referenceMode
enum<string>
default:specific

Reference mode of the playbook

Available options:
specific,
none
Example:

"specific"

proofPointMode
enum<string>
default:none

Proof point mode of the playbook

Available options:
specific,
none
Example:

"none"

additionalContextSources
object[]

Additional context sources for the playbook. URL and TEXT source types are supported.

Example:
[
{
"type": "URL",
"value": "https://example.com/market-research"
},
{
"type": "TEXT",
"value": "Additional market insights about the target segment."
}
]

Response

Playbook data

_metadata
object
required
playbook
object
required
personas
object[]
required
I