> ## Documentation Index
> Fetch the complete documentation index at: https://docs.octavehq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Playbook

> Update an existing playbook. Only provided fields will be updated - omitted fields remain unchanged. The 'data' object will be shallow merged with existing data.



## OpenAPI

````yaml post /api/v2/playbook/update
openapi: 3.0.0
info:
  version: 6.0.0
  title: Octave API
  description: API for Octave workspace management and AI-powered content generation
servers:
  - url: https://app.octavehq.com
security:
  - ApiKeyAuth: []
paths:
  /api/v2/playbook/update:
    post:
      tags:
        - Playbook
      summary: Update Playbook
      description: >-
        Update an existing playbook. Only provided fields will be updated -
        omitted fields remain unchanged. The 'data' object will be shallow
        merged with existing data.
      operationId: updatePlaybook
      requestBody:
        description: Playbook update input
        content:
          application/json:
            schema:
              type: object
              properties:
                oId:
                  type: string
                  minLength: 1
                  description: The ID of the playbook to update
                  example: pb_1234
                name:
                  type: string
                  description: The name of the playbook
                  example: Enterprise Sales Playbook
                description:
                  type: string
                  description: A description of the playbook
                  example: Comprehensive playbook for enterprise sales processes
                explanation:
                  type: string
                  description: Detailed explanation of the playbook strategy
                  example: >-
                    This playbook focuses on enterprise accounts with complex
                    decision-making processes
                attributes:
                  type: object
                  additionalProperties:
                    type: array
                    items:
                      type: string
                  description: Key attributes and characteristics of the playbook
                  example:
                    industry:
                      - technology
                      - healthcare
                    size:
                      - enterprise
                keyInsight:
                  type: array
                  items:
                    type: string
                  description: Key insights that drive this playbook strategy
                  example:
                    - Enterprise buyers value ROI demonstrations
                    - Decision process involves multiple stakeholders
                exampleDomains:
                  type: array
                  items:
                    type: string
                  description: Example company domains that fit this playbook
                  example:
                    - acme.com
                    - example.com
                    - enterprise.com
                exampleDescription:
                  type: string
                  description: Example description or scenario for this playbook
                  example: >-
                    Target Fortune 500 companies with existing CRM systems
                    looking to modernize
                approachAngle:
                  type: array
                  items:
                    type: string
                  description: Different angles or approaches for this playbook
                  example:
                    - ROI-focused approach
                    - Security-first messaging
                    - Integration benefits
                strategicNarrative:
                  type: array
                  items:
                    type: string
                  description: Strategic narrative components for this playbook
                  example:
                    - Digital transformation is essential
                    - Legacy systems are holding you back
                customFields:
                  allOf:
                    - $ref: '#/components/schemas/CustomDataFields'
                    - description: Custom fields for additional playbook information
              required:
                - oId
      responses:
        '200':
          description: Playbook updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  data:
                    type: object
                    properties:
                      oId:
                        type: string
                        minLength: 1
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        nullable: true
                        format: date-time
                      deletedAt:
                        type: string
                        nullable: true
                        format: date-time
                      archivedAt:
                        type: string
                        nullable: true
                        format: date-time
                      name:
                        type: string
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      data:
                        $ref: '#/components/schemas/PlaybookData'
                      qualifyingQuestions:
                        type: array
                        nullable: true
                        items:
                          type: object
                          properties:
                            question:
                              type: string
                              description: The question to ask to qualify the entity
                            rationale:
                              type: string
                              description: >-
                                The rationale for the question as to why it
                                helps qualify
                            fitType:
                              type: string
                              enum:
                                - GOOD
                                - BAD
                              description: The fit type of the question
                              example: GOOD
                            weight:
                              type: string
                              enum:
                                - LOW
                                - MEDIUM
                                - HIGH
                                - INSTANT_QUALIFIER
                                - INSTANT_DISQUALIFIER
                              description: The weight of the question
                              example: MEDIUM
                            archivedAt:
                              type: string
                              nullable: true
                              format: date-time
                              description: The date and time the question was archived
                          required:
                            - question
                            - rationale
                            - fitType
                            - weight
                      active:
                        type: boolean
                        default: true
                      type:
                        type: string
                        nullable: true
                        enum:
                          - LEGACY
                          - SECTOR
                          - SOLUTION
                          - MILESTONE
                          - PRACTITIONER
                          - COMPETITIVE
                          - ACCOUNT
                          - CUSTOM
                          - null
                      framework:
                        type: string
                        nullable: true
                        enum:
                          - CVI_WHY_CHANGE
                          - null
                      status:
                        type: string
                        enum:
                          - active
                          - draft
                          - archived
                        default: active
                      referenceMode:
                        type: string
                        enum:
                          - specific
                          - none
                        default: specific
                      proofPointMode:
                        type: string
                        enum:
                          - specific
                          - none
                        default: none
                      user:
                        type: object
                        properties:
                          oId:
                            type: string
                            nullable: true
                            description: User OId
                          firstName:
                            type: string
                            nullable: true
                            description: User first name
                          lastName:
                            type: string
                            nullable: true
                            description: User last name
                      workspace:
                        type: object
                        properties:
                          oId:
                            type: string
                            nullable: true
                            description: Workspace OId
                      product:
                        $ref: '#/components/schemas/PlaybookProduct'
                      service:
                        $ref: '#/components/schemas/PlaybookService'
                      buyerPersonas:
                        type: array
                        nullable: true
                        items:
                          $ref: '#/components/schemas/PlaybookPersona'
                      useCases:
                        type: array
                        nullable: true
                        items:
                          $ref: '#/components/schemas/PlaybookUseCase'
                      references:
                        type: array
                        nullable: true
                        items:
                          $ref: '#/components/schemas/PlaybookReference'
                      segment:
                        type: object
                        nullable: true
                        properties:
                          oId:
                            type: string
                            nullable: true
                          name:
                            type: string
                            nullable: true
                          description:
                            type: string
                            nullable: true
                          data:
                            nullable: true
                      competitor:
                        type: object
                        nullable: true
                        properties:
                          oId:
                            type: string
                            nullable: true
                          name:
                            type: string
                            nullable: true
                          description:
                            type: string
                            nullable: true
                          data:
                            nullable: true
                      proofPoints:
                        type: array
                        nullable: true
                        items:
                          type: object
                          properties:
                            oId:
                              type: string
                              nullable: true
                            name:
                              type: string
                              nullable: true
                            description:
                              type: string
                              nullable: true
                            data:
                              nullable: true
                    required:
                      - oId
                      - createdAt
                      - data
                      - user
                      - workspace
                required:
                  - _metadata
                  - data
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  message:
                    type: string
                required:
                  - _metadata
                  - message
        '404':
          description: Playbook not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  message:
                    type: string
                required:
                  - _metadata
                  - message
      deprecated: false
components:
  schemas:
    CustomDataFields:
      type: array
      items:
        $ref: '#/components/schemas/CustomDataFieldItem'
    Metadata:
      type: object
      properties:
        usage:
          type: number
          default: 0
          example: 0
          description: API usage
        requestId:
          type: string
          example: requestId
          description: Request ID
        message:
          type: string
          example: message
          description: Message
        timestamp:
          type: string
          example: '2021-01-01T00:00:00.000Z'
          description: Timestamp
      required:
        - requestId
        - timestamp
    PlaybookData:
      type: object
      properties:
        explanation:
          type: string
          nullable: true
        attributes:
          type: object
          nullable: true
          additionalProperties:
            type: array
            items:
              type: string
          default: {}
        keyInsight:
          type: array
          items:
            type: string
          default: []
        exampleDomains:
          type: array
          items:
            type: string
          default: []
        exampleDescription:
          type: string
          nullable: true
          default: ''
        approachAngle:
          type: array
          nullable: true
          items:
            type: string
        strategicNarrative:
          type: array
          nullable: true
          items:
            type: string
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        methodology:
          anyOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CVI_WHY_CHANGE
                data:
                  type: object
                  properties:
                    coreNarrative:
                      type: array
                      items:
                        type: string
                    stages:
                      type: object
                      properties:
                        A1:
                          type: object
                          properties:
                            overview:
                              type: array
                              items:
                                type: string
                            whatToKnow:
                              type: array
                              items:
                                type: string
                            whatToDo:
                              type: array
                              items:
                                type: string
                            whatToSay:
                              type: array
                              items:
                                type: string
                          required:
                            - overview
                            - whatToKnow
                            - whatToDo
                            - whatToSay
                        A2:
                          type: object
                          properties:
                            overview:
                              type: array
                              items:
                                type: string
                            whatToKnow:
                              type: array
                              items:
                                type: string
                            whatToDo:
                              type: array
                              items:
                                type: string
                            whatToSay:
                              type: array
                              items:
                                type: string
                          required:
                            - overview
                            - whatToKnow
                            - whatToDo
                            - whatToSay
                        A3:
                          type: object
                          properties:
                            overview:
                              type: array
                              items:
                                type: string
                            whatToKnow:
                              type: array
                              items:
                                type: string
                            whatToDo:
                              type: array
                              items:
                                type: string
                            whatToSay:
                              type: array
                              items:
                                type: string
                          required:
                            - overview
                            - whatToKnow
                            - whatToDo
                            - whatToSay
                        A4:
                          type: object
                          properties:
                            overview:
                              type: array
                              items:
                                type: string
                            whatToKnow:
                              type: array
                              items:
                                type: string
                            whatToDo:
                              type: array
                              items:
                                type: string
                            whatToSay:
                              type: array
                              items:
                                type: string
                          required:
                            - overview
                            - whatToKnow
                            - whatToDo
                            - whatToSay
                        A5:
                          type: object
                          properties:
                            overview:
                              type: array
                              items:
                                type: string
                            whatToKnow:
                              type: array
                              items:
                                type: string
                            whatToDo:
                              type: array
                              items:
                                type: string
                            whatToSay:
                              type: array
                              items:
                                type: string
                          required:
                            - overview
                            - whatToKnow
                            - whatToDo
                            - whatToSay
                      required:
                        - A1
                        - A2
                        - A3
                        - A4
                        - A5
                    generatedAt:
                      type: string
                  required:
                    - coreNarrative
                    - stages
                    - generatedAt
              required:
                - type
                - data
            - type: object
              properties:
                coreNarrative:
                  type: array
                  items:
                    type: string
                stages:
                  type: object
                  properties:
                    A1:
                      type: object
                      properties:
                        overview:
                          type: array
                          items:
                            type: string
                        whatToKnow:
                          type: array
                          items:
                            type: string
                        whatToDo:
                          type: array
                          items:
                            type: string
                        whatToSay:
                          type: array
                          items:
                            type: string
                      required:
                        - overview
                        - whatToKnow
                        - whatToDo
                        - whatToSay
                    A2:
                      type: object
                      properties:
                        overview:
                          type: array
                          items:
                            type: string
                        whatToKnow:
                          type: array
                          items:
                            type: string
                        whatToDo:
                          type: array
                          items:
                            type: string
                        whatToSay:
                          type: array
                          items:
                            type: string
                      required:
                        - overview
                        - whatToKnow
                        - whatToDo
                        - whatToSay
                    A3:
                      type: object
                      properties:
                        overview:
                          type: array
                          items:
                            type: string
                        whatToKnow:
                          type: array
                          items:
                            type: string
                        whatToDo:
                          type: array
                          items:
                            type: string
                        whatToSay:
                          type: array
                          items:
                            type: string
                      required:
                        - overview
                        - whatToKnow
                        - whatToDo
                        - whatToSay
                    A4:
                      type: object
                      properties:
                        overview:
                          type: array
                          items:
                            type: string
                        whatToKnow:
                          type: array
                          items:
                            type: string
                        whatToDo:
                          type: array
                          items:
                            type: string
                        whatToSay:
                          type: array
                          items:
                            type: string
                      required:
                        - overview
                        - whatToKnow
                        - whatToDo
                        - whatToSay
                    A5:
                      type: object
                      properties:
                        overview:
                          type: array
                          items:
                            type: string
                        whatToKnow:
                          type: array
                          items:
                            type: string
                        whatToDo:
                          type: array
                          items:
                            type: string
                        whatToSay:
                          type: array
                          items:
                            type: string
                      required:
                        - overview
                        - whatToKnow
                        - whatToDo
                        - whatToSay
                  required:
                    - A1
                    - A2
                    - A3
                    - A4
                    - A5
                generatedAt:
                  type: string
              required:
                - coreNarrative
                - stages
                - generatedAt
    PlaybookProduct:
      type: object
      nullable: true
      properties:
        type:
          type: string
          nullable: true
          enum:
            - PRODUCT
            - SERVICE
            - SOLUTION
            - null
          description: Offering type
        oId:
          type: string
          nullable: true
          description: Product OId
        name:
          type: string
          nullable: true
          description: Product name
        data:
          allOf:
            - $ref: '#/components/schemas/ProductData'
            - nullable: true
        description:
          type: string
          nullable: true
          description: Product description
    PlaybookService:
      type: object
      nullable: true
      properties:
        oId:
          type: string
          nullable: true
          description: Service OId
        name:
          type: string
          nullable: true
          description: Service name
        data:
          nullable: true
        description:
          type: string
          nullable: true
          description: Service description
    PlaybookPersona:
      type: object
      properties:
        oId:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        hypotheses:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/Hypothesis'
        data:
          allOf:
            - $ref: '#/components/schemas/PersonaData'
            - nullable: true
    PlaybookUseCase:
      type: object
      properties:
        oId:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        data:
          $ref: '#/components/schemas/UseCaseData'
    PlaybookReference:
      type: object
      properties:
        oId:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        data:
          $ref: '#/components/schemas/ReferenceData'
        description:
          type: string
          nullable: true
    CustomDataFieldItem:
      type: object
      properties:
        title:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - title
        - value
    ProductData:
      type: object
      properties:
        type:
          type: string
          enum:
            - PRODUCT
            - SERVICE
            - SOLUTION
          default: PRODUCT
        internalName:
          type: string
          nullable: true
          description: The internal name of the product
        summary:
          type: string
          nullable: true
        distinctCapabilities:
          type: array
          items:
            type: string
          default: []
          description: >-
            What the product does at the functional level, and what it enables
            customers to accomplish. Outcome-oriented, not mechanism-oriented
            (mechanisms live in keyFunctionality).
          example:
            - Capability 1
            - Capability 2
        keyFunctionality:
          type: array
          items:
            type: string
          default: []
          description: >-
            The specific, named, often branded components of the product worth
            highlighting. Concrete and tangible; these help frame the 'how'
            behind the capabilities.
          example:
            - Functionality 1
            - Functionality 2
        differentiatedValue:
          type: array
          items:
            type: string
          default: []
          description: The differentiated value of the product
          example:
            - Differentiated Value 1
            - Differentiated Value 2
        statusQuo:
          type: array
          items:
            type: string
          default: []
          description: The status quo of the product
          example:
            - Status Quo 1
            - Status Quo 2
        challengesAddressed:
          type: array
          items:
            type: string
          default: []
          description: The challenges addressed by the offering
          example:
            - Challenge 1
            - Challenge 2
        customerBenefits:
          type: array
          items:
            type: string
          default: []
          description: The customer benefits of the offering
          example:
            - Benefit 1
            - Benefit 2
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
    Hypothesis:
      type: object
      properties:
        oId:
          type: string
        createdAt:
          type: string
          format: date-time
        archivedAt:
          type: string
          nullable: true
          format: date-time
        deletedAt:
          type: string
          nullable: true
          format: date-time
        updatedAt:
          type: string
          nullable: true
          format: date-time
        name:
          type: string
        details:
          type: string
        persona:
          $ref: '#/components/schemas/NameAndOId'
        playbook:
          $ref: '#/components/schemas/NameAndOId'
        user:
          $ref: '#/components/schemas/NameAndOId'
      required:
        - oId
        - createdAt
        - name
        - details
        - persona
        - playbook
        - user
    PersonaData:
      type: object
      properties:
        internalName:
          type: string
          nullable: true
          description: The internal name of the persona
        primaryResponsibilities:
          type: array
          items:
            type: string
          default: []
          description: The primary responsibilities of the persona
          example:
            - Responsibility 1
            - Responsibility 2
        painPoints:
          type: array
          items:
            type: string
          default: []
          description: The pain points of the persona
          example:
            - Pain Point 1
            - Pain Point 2
        keyConcerns:
          type: array
          items:
            type: string
          default: []
          description: The key concerns of the persona
          example:
            - Concern 1
            - Concern 2
        keyObjectives:
          type: array
          items:
            type: string
          default: []
          description: The key objectives of the persona
          example:
            - Objective 1
            - Objective 2
        commonJobTitles:
          type: array
          items:
            type: string
          default: []
          description: The common job titles of the persona
          example:
            - Job Title 1
            - Job Title 2
        whyTheyMatterToUs:
          type: array
          items:
            type: string
          default: []
          description: The reasons why the persona matters to us
          example:
            - Reason 1
            - Reason 2
        whyWeMatterToThem:
          type: array
          items:
            type: string
          default: []
          description: The reasons why we matter to this type of persona
          example:
            - Reason 1
            - Reason 2
        buyingRole:
          type: array
          items:
            type: string
          default: []
          description: >-
            The function this persona typically plays in a purchase decision
            (e.g. economic buyer, champion, technical evaluator, end user,
            influencer, blocker), along with their level of sophistication on
            the problem space (newcomer, experienced, expert).
          example:
            - Economic buyer with budget authority over the GTM stack.
            - Experienced operator who has evaluated similar tooling before.
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
    UseCaseData:
      type: object
      nullable: true
      properties:
        summary:
          type: string
          nullable: true
          description: Summary
        scenarios:
          type: array
          nullable: true
          items:
            type: string
          description: Scenarios
        desiredOutcomes:
          type: array
          nullable: true
          items:
            type: string
          description: Desired Outcomes
        businessDrivers:
          type: array
          nullable: true
          items:
            type: string
          description: Business Drivers
        strategicImpact:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            The strategic, business-level benefit realized when this use case is
            solved well: quantifiable impact on revenue, cost, risk, and/or
            efficiency, and the broader value to the company.
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
    ReferenceData:
      type: object
      nullable: true
      properties:
        businessModel:
          type: array
          nullable: true
          items:
            type: string
        theirChallenge:
          type: array
          nullable: true
          items:
            type: string
        howTheyUseUs:
          type: array
          nullable: true
          items:
            type: string
        whyTheyChoseUs:
          type: array
          nullable: true
          items:
            type: string
        impactTheySaw:
          type: array
          nullable: true
          items:
            type: string
        stakeholdersInvolved:
          type: array
          nullable: true
          items:
            type: string
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
    NameAndOId:
      type: object
      properties:
        name:
          type: string
          nullable: true
        oId:
          type: string
          nullable: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.