> ## 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.

# Generate Segments

> Generate market segments from source materials using AI. Each input array generates one segment. Supports text, URLs, and generative names as sources.



## OpenAPI

````yaml post /api/v2/segment/generate
openapi: 3.0.0
info:
  version: 1.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/segment/generate:
    post:
      tags:
        - Segment
      summary: Generate Segments
      description: >-
        Generate market segments from source materials using AI. Each input
        array generates one segment. Supports text, URLs, and generative names
        as sources.
      operationId: generateSegments
      requestBody:
        description: Segment generation input with source materials
        content:
          application/json:
            schema:
              type: object
              properties:
                primaryOfferingOId:
                  type: string
                  description: >-
                    Primary Offering to use as context when generating segments.
                    If not provided, the primary company attached to the
                    Workspace will be used.
                  example: o_123456
                linkingStrategy:
                  allOf:
                    - $ref: '#/components/schemas/LinkingStrategy'
                    - description: >-
                        Strategy for linking generated segments to offerings
                        (products/services)
                segments:
                  $ref: '#/components/schemas/SegmentGenerationInputs'
                brandVoiceOId:
                  type: string
                  description: Brand voice oId to apply to generated segments
                  example: bv_123456
              required:
                - segments
      responses:
        '200':
          description: Segments generated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        oId:
                          type: string
                        createdAt:
                          type: string
                          nullable: true
                          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
                        internalName:
                          type: string
                        description:
                          type: string
                        active:
                          type: boolean
                          default: true
                        data:
                          type: object
                          nullable: true
                          properties:
                            strategicFit:
                              type: array
                              items:
                                type: string
                              default: []
                            firmographics:
                              type: object
                              properties:
                                industry:
                                  type: array
                                  items:
                                    type: string
                                  default: []
                                businessModel:
                                  type: array
                                  items:
                                    type: string
                                  default: []
                                geography:
                                  type: array
                                  items:
                                    type: string
                                  default: []
                                revenue:
                                  type: array
                                  items:
                                    type: string
                                  default: []
                                employees:
                                  type: array
                                  items:
                                    type: string
                                  default: []
                              default:
                                industry: []
                                businessModel: []
                                geography: []
                                revenue: []
                                employees: []
                              additionalProperties:
                                nullable: true
                            operatingCharacteristics:
                              type: array
                              items:
                                type: string
                              default: []
                            strategicPriorities:
                              type: array
                              items:
                                type: string
                              default: []
                            marketPressures:
                              type: array
                              items:
                                type: string
                              default: []
                            buyingDynamics:
                              type: array
                              items:
                                type: string
                              default: []
                            customFields:
                              $ref: '#/components/schemas/CustomDataFields'
                            additionalProperties:
                              type: object
                              additionalProperties:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                  - type: number
                                  - type: boolean
                        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
                        user:
                          type: object
                          nullable: true
                          properties:
                            oId:
                              type: string
                              nullable: true
                            firstName:
                              type: string
                              nullable: true
                              description: >-
                                The first name of the user who created the
                                segment
                              example: John
                            lastName:
                              type: string
                              nullable: true
                              description: >-
                                The last name of the user who created the
                                segment
                              example: Doe
                        workspace:
                          type: object
                          nullable: true
                          properties:
                            oId:
                              type: string
                              nullable: true
                        unrecognized:
                          type: boolean
                        rejected:
                          type: boolean
                        intelOverride:
                          type: object
                          nullable: true
                          properties:
                            enabled:
                              type: boolean
                            cadence:
                              type: string
                              enum:
                                - weekly
                                - biweekly
                                - monthly
                            guidance:
                              type: string
                              nullable: true
                        tags:
                          type: array
                          items:
                            type: object
                            properties:
                              tagGroupOId:
                                type: string
                              tagGroupName:
                                type: string
                              tagOId:
                                type: string
                              tagName:
                                type: string
                            required:
                              - tagGroupOId
                              - tagGroupName
                              - tagOId
                              - tagName
                      required:
                        - oId
                        - createdAt
                        - updatedAt
                        - name
                        - internalName
                        - description
                        - unrecognized
                        - rejected
                required:
                  - _metadata
                  - data
        '400':
          description: Bad request - invalid sources or unable to process
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  message:
                    type: string
                required:
                  - _metadata
                  - message
        '404':
          description: Offering not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  message:
                    type: string
                required:
                  - _metadata
                  - message
      deprecated: false
components:
  schemas:
    LinkingStrategy:
      oneOf:
        - $ref: '#/components/schemas/LinkingStrategyAll'
        - $ref: '#/components/schemas/LinkingStrategySpecific'
      discriminator:
        propertyName: mode
        mapping:
          ALL:
            $ref: '#/components/schemas/LinkingStrategyAll'
          SPECIFIC:
            $ref: '#/components/schemas/LinkingStrategySpecific'
      default:
        mode: ALL
      description: Strategy for linking this persona to offerings (products/services)
    SegmentGenerationInputs:
      type: array
      items:
        type: object
        properties:
          name:
            type: string
            description: >-
              Optional name for the segment - if provided, will be used as the
              entity name
            example: Enterprise Technology Companies
          sources:
            type: array
            items:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - TEXT
                    - URL
                    - RESOURCE
                  description: The type of source material
                  example: TEXT
                value:
                  type: string
                  minLength: 1
                  description: The source content (text, URL, or name)
                  example: Lead generation and qualification for enterprise sales
              required:
                - type
                - value
            description: Source materials to generate the market segment from
        required:
          - sources
      minItems: 1
      description: >-
        Array of segment generation requests - each object generates one market
        segment
      example:
        - name: Enterprise Technology Companies
          sources:
            - type: TEXT
              value: Enterprise companies with 500+ employees in technology sector
        - sources:
            - type: URL
              value: https://example.com/market-research
    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
    CustomDataFields:
      type: array
      items:
        $ref: '#/components/schemas/CustomDataFieldItem'
    LinkingStrategyAll:
      type: object
      properties:
        mode:
          type: string
          enum:
            - ALL
          description: >-
            Link to all active offerings in the workspace (products, services,
            and solutions)
          example: ALL
      required:
        - mode
    LinkingStrategySpecific:
      type: object
      properties:
        mode:
          type: string
          enum:
            - SPECIFIC
          description: >-
            Link to specific offerings by their IDs (products, services, and
            solutions)
          example: SPECIFIC
        offeringOIds:
          type: array
          items:
            type: string
            minLength: 1
          minItems: 1
          description: >-
            Array of offering IDs to link to (supports product, service, and
            solution oIds)
          example:
            - px_123
            - sc_456
            - sv_789
      required:
        - mode
        - offeringOIds
    CustomDataFieldItem:
      type: object
      properties:
        title:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - title
        - value
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key

````