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

# Create Solution

> Create a new solution from generated output and sources



## OpenAPI

````yaml post /api/v2/solution/create
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/solution/create:
    post:
      tags:
        - Solution
      summary: Create Solution
      description: Create a new solution from generated output and sources
      operationId: createSolution
      requestBody:
        description: Solution creation input
        content:
          application/json:
            schema:
              type: object
              properties:
                solution:
                  $ref: '#/components/schemas/GeneratedSolutionOutput'
                sources:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - TEXT
                          - URL
                          - GOOGLE_DRIVE_FILE_ID
                          - GENERATIVE_NAME
                          - OID
                          - COMPANY_NAME
                          - FIELDWISE_DOCUMENT_ID
                          - RAG_DOCUMENT_ID
                          - RESOURCE
                          - REPORT
                          - REPORT_SECTION
                          - EVENT_OID_FINDINGS
                          - FINDING_OIDS
                      value:
                        type: string
                      name:
                        type: string
                        nullable: true
                      details:
                        type: string
                        nullable: true
                      useNameIfUrlFails:
                        type: boolean
                        nullable: true
                    required:
                      - type
                      - value
                active:
                  type: boolean
                enableRagEnrichment:
                  type: boolean
                offeringOIds:
                  type: array
                  items:
                    type: string
                  default: []
                useCaseOIds:
                  type: array
                  items:
                    type: string
                  default: []
                personaOIds:
                  type: array
                  items:
                    type: string
                  default: []
                segmentOIds:
                  type: array
                  items:
                    type: string
                  default: []
                referenceOIds:
                  type: array
                  items:
                    type: string
                  default: []
                collateralOIds:
                  type: array
                  items:
                    type: string
                  default: []
                competitorOIds:
                  type: array
                  items:
                    type: string
                  default: []
                alternativeOIds:
                  type: array
                  items:
                    type: string
                  default: []
                buyingTriggerOIds:
                  type: array
                  items:
                    type: string
                  default: []
                objectionOIds:
                  type: array
                  items:
                    type: string
                  default: []
                proofPointOIds:
                  type: array
                  items:
                    type: string
                  default: []
                genericTextEntityOIds:
                  type: array
                  items:
                    type: string
                  default: []
              required:
                - solution
                - sources
      responses:
        '200':
          description: Solution created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  data:
                    type: object
                    properties:
                      oId:
                        type: string
                        minLength: 1
                        description: The ID of the solution
                        example: sv_1234
                      createdAt:
                        type: string
                        description: The date and time the solution was created
                      updatedAt:
                        type: string
                        nullable: true
                      archivedAt:
                        type: string
                        nullable: true
                      deletedAt:
                        type: string
                        nullable: true
                      name:
                        type: string
                        nullable: true
                      internalName:
                        type: string
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      primaryUrl:
                        type: string
                        nullable: true
                        description: >-
                          Primary website URL for the solution, when available
                          from sources
                      active:
                        type: boolean
                        default: true
                      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
                              description: The date and time the question was archived
                          required:
                            - question
                            - rationale
                            - fitType
                            - weight
                      data:
                        $ref: '#/components/schemas/SolutionPersistedData'
                      user:
                        type: object
                        properties:
                          oId:
                            type: string
                            nullable: true
                          firstName:
                            type: string
                            nullable: true
                          lastName:
                            type: string
                            nullable: true
                      workspace:
                        type: object
                        properties:
                          oId:
                            type: string
                            nullable: true
                      linkedProducts:
                        type: array
                        items:
                          type: object
                          properties:
                            oId:
                              type: string
                            name:
                              type: string
                              nullable: true
                            offeringType:
                              type: string
                              enum:
                                - PRODUCT
                                - SERVICE
                                - SOLUTION
                          required:
                            - oId
                            - offeringType
                        default: []
                      linkedUseCases:
                        type: array
                        items:
                          type: object
                          properties:
                            oId:
                              type: string
                            name:
                              type: string
                              nullable: true
                          required:
                            - oId
                        default: []
                      linkedPersonas:
                        type: array
                        items:
                          type: object
                          properties:
                            oId:
                              type: string
                            name:
                              type: string
                              nullable: true
                          required:
                            - oId
                        default: []
                      linkedSegments:
                        type: array
                        items:
                          type: object
                          properties:
                            oId:
                              type: string
                            name:
                              type: string
                              nullable: true
                          required:
                            - oId
                        default: []
                      locked:
                        type: boolean
                      lockedBy:
                        type: object
                        nullable: true
                        properties:
                          oId:
                            type: string
                          firstName:
                            type: string
                          lastName:
                            type: string
                          picture:
                            type: string
                        required:
                          - oId
                    required:
                      - oId
                      - createdAt
                      - data
                      - user
                      - workspace
                      - locked
                required:
                  - _metadata
                  - data
      deprecated: false
components:
  schemas:
    GeneratedSolutionOutput:
      type: object
      properties:
        name:
          type: string
        internalName:
          type: string
          nullable: true
        summary:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        distinctCapabilities:
          type: array
          items:
            type: string
          default: []
        keyComponents:
          type: array
          items:
            type: string
          default: []
        customerBenefits:
          type: array
          items:
            type: string
          default: []
        challengesAddressed:
          type: array
          items:
            type: string
          default: []
        statusQuo:
          type: array
          items:
            type: string
          default: []
        differentiatedValue:
          type: array
          items:
            type: string
          default: []
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
      required:
        - name
    Metadata:
      type: object
      properties:
        usage:
          type: number
          default: 0
          description: API usage
          example: 0
        requestId:
          type: string
          description: Request ID
          example: requestId
        message:
          type: string
          description: Message
          example: message
        timestamp:
          type: string
          description: Timestamp
          example: '2021-01-01T00:00:00.000Z'
      required:
        - requestId
        - timestamp
    SolutionPersistedData:
      type: object
      properties:
        internalName:
          type: string
          nullable: true
        summary:
          type: string
          nullable: true
        distinctCapabilities:
          type: array
          items:
            type: string
          default: []
        keyComponents:
          type: array
          items:
            type: string
          default: []
        customerBenefits:
          type: array
          items:
            type: string
          default: []
        challengesAddressed:
          type: array
          items:
            type: string
          default: []
        statusQuo:
          type: array
          items:
            type: string
          default: []
        differentiatedValue:
          type: array
          items:
            type: string
          default: []
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
    CustomDataFields:
      type: array
      items:
        $ref: '#/components/schemas/CustomDataFieldItem'
    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

````