Xfactor.io Value Proposition API

The largest of the Xfactor.io platform services — 88 paths and 109 operations covering value propositions, companies, accounts, solutions and products, benefits and value drivers, workflows, discovery, privileges and users, plus account factors and mappings. This is the CVM core DecisionLink was built on, now served as a FastAPI service behind Auth0 bearer authentication. The OpenAPI 3.1 document and its Swagger UI are reachable anonymously; every operation requires a token.

OpenAPI Specification

decisionlink-value-proposition-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Value Proposition
  version: 0.1.0
  x-api-evangelist-source: https://api.xfactor.io/v1/value-proposition/openapi.json
paths:
  /healthz:
    get:
      tags:
      - health
      summary: Health
      description: Provides information about the health of the application
      operationId: health_healthz_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
  /v1/value-proposition/list:
    get:
      tags:
      - list
      summary: Get the list of Value Propositions
      description: "Endpoint for reading the Value Propositions available to the user\n\nReturns\n-------\ndict\n    Returns\
        \ the list of available Value Propositions and has_unfinished_vps"
      operationId: get_value_proposition_list_v1_value_proposition_list_get
      security:
      - HTTPBearer: []
      parameters:
      - name: include_calcs
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Include calculator VPs
          default: false
          title: Include Calcs
        description: Include calculator VPs
      - name: skip_solutions
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Skip loading solutions (0 or 1)
          default: 0
          title: Skip Solutions
        description: Skip loading solutions (0 or 1)
      - name: sortby
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Column to sort by
          default: v.modified
          title: Sortby
        description: Column to sort by
      - name: order
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Sort order (ASC or DESC)
          default: DESC
          title: Order
        description: Sort order (ASC or DESC)
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Limit number of results
          default: all
          title: Limit
        description: Limit number of results
      - name: mode
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/ListMode'
          description: 1=Hypothesis, 2=Value Prop, 3=All
          default: 3
        description: 1=Hypothesis, 2=Value Prop, 3=All
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/search:
    post:
      tags:
      - search
      summary: Search Value Propositions
      description: 'Search value propositions accessible to the authenticated user.


        Supports text search on VP name and company name,

        sorting, and pagination.'
      operationId: search_value_propositions_v1_value_proposition_search_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /v1/value-proposition/companies/admin-validate:
    post:
      tags:
      - companies
      summary: Validate a company
      description: "Admin-only: Validate or create company.\n- Reads sfdc_account_id and user_id from JSON body.\n- If feature\
        \ 83 is OFF: create shared company (account_id=0).\n- If feature 83 is ON:\n    * Try to find company by (account_id,\
        \ account_defined_id = sfdc_account_id)\n    * If found -> return its id\n    * Else -> create company with (user's\
        \ account_id, user_id, sfdc_account_id) and return id"
      operationId: admin_validate_company_v1_value_proposition_companies_admin_validate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminValidatePayload'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /v1/value-proposition/companies/validate:
    post:
      tags:
      - companies
      summary: Validate a company
      description: Endpoint for validating a company
      operationId: validate_company_v1_value_proposition_companies_validate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyValidatePayload'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyValidateReturn'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /v1/value-proposition/companies/search:
    post:
      tags:
      - companies
      summary: Search for a company
      description: "Endpoint for searching companies database\n\nParameters\n-------\npayload\n    The SearchPayload needed\
        \ to find company\n\nReturns\n-------\nList[Company]\n    Returns the list of matching companies"
      operationId: search_companies_v1_value_proposition_companies_search_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchPayload'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Company'
                type: array
                title: Response Search Companies V1 Value Proposition Companies Search Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /v1/value-proposition/companies:
    post:
      tags:
      - companies
      summary: Create a company new company
      description: "Endpoint for creating a new company\n\nParameters\n-------\npayload\n    The CompanyPayload needed to\
        \ create the company\n\nReturns\n-------\nCompany\n    Returns the company, if created. Returns 409 if company exists"
      operationId: create_company_v1_value_proposition_companies_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCompanyPayload'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /v1/value-proposition/workflows:
    get:
      tags:
      - workflows
      summary: Return the workflows available to the user
      description: "Endpoint for reading user workflows\n\nParameters\n-------\nincludeAll\n    Include all account workflows\
        \ or just the user's active workflows\n\nReturns\n-------\nList[Workflow]\n    Returns the list of workflows"
      operationId: get_workflows_v1_value_proposition_workflows_get
      security:
      - HTTPBearer: []
      parameters:
      - name: includeAll
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          title: Includeall
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Workflow'
                title: Response Get Workflows V1 Value Proposition Workflows Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefits/{benefitId}:
    get:
      tags:
      - benefits
      summary: Get the details for a single benefit
      description: "Endpoint for reading a single benefit's details\n\nReturns\n-------\nSingleBenefitDetail\n    Returns\
        \ the Benefit Details"
      operationId: get_single_benefit_v1_value_proposition__valuePropId__benefits__benefitId__get
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: benefitId
        in: path
        required: true
        schema:
          type: integer
          title: Benefitid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleBenefitDetail'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - benefits
      summary: Update benefit phasing and factors
      description: "Endpoint for updating benefit phasing and factors\n\nParameters\n----------\npayload : BenefitPhasingAndFactorPayload\n\
        \    The payload containing phasing and factors updates\nrequest : Request\n    The FastAPI request object\nvalue_prop_id\
        \ : int\n    The ID of the value proposition\nbenefit_id : int\n    The ID of the benefit to update\n\nReturns\n-------\n\
        JSONResponse\n    Response with success message"
      operationId: update_benefit_phasing_v1_value_proposition__valuePropId__benefits__benefitId__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: benefitId
        in: path
        required: true
        schema:
          type: integer
          title: Benefitid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenefitPhasingAndFactorPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenefitPhasingUpdateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefits:
    get:
      tags:
      - benefits
      summary: Get the Benefits for a Value Proposition by Value Category
      description: "Endpoint for reading Benefits for a Value Proposition grouped by the\nrequested dimension (default: value_category).\n\
        \nReturns a dict with ``vcs`` and grouping availability flags.\n\nReturns\n-------\ndict\n    Benefits response with\
        \ vcs and grouping flags"
      operationId: get_benefits_v1_value_proposition__valuePropId__benefits_get
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: show_all
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Show All
      - name: summed_benefits
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Summed Benefits
      - name: order_flag
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Order Flag
      - name: filter_by
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/FilterByOption'
          default: value_category
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ValueCategory'
                title: Response Get Benefits V1 Value Proposition  Valuepropid  Benefits Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefits-active:
    patch:
      tags:
      - benefits
      summary: Save the Benefit Active statuses for benefits
      description: "Endpoint for saving Benefit Active statuses\n\nParameters\n----------\nbenefits : BenefitActivePayload\n\
        \    The Benefits and their Active statuses\n\nReturns\n-------\nMessageResponse\n    Returns success and message"
      operationId: update_benefit_active_status_v1_value_proposition__valuePropId__benefits_active_patch
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenefitActivePayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefits-by-type:
    get:
      tags:
      - benefits
      summary: Returns the benefits by type(financial/non financial)
      description: 'Returns benefits grouped by type with configurable

        filtering and ordering.'
      operationId: get_benefit_by_type_v1_value_proposition__valuePropId__benefits_by_type_get
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: show_all
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Show All
      - name: summed_benefits
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Summed Benefits
      - name: order_flag
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Order Flag
      - name: filter_by
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/FilterByOption'
          default: value_category
      - name: full_format
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Full Format
      - name: legacy_format
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Legacy Format
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenefitsByTypeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefit-fields/{benefitId}:
    patch:
      tags:
      - benefits
      summary: Update benefit fields
      description: "Endpoint for updating benefit fields\n\nParameters\n----------\n- value_prop_id\n- benefit_id\n- payload\
        \ : BenefitFieldsPayload\n    The fields to update\n\nReturns\n-------\nMessageResponse\n    Returns success and message"
      operationId: update_benefit_fields_endpoint_v1_value_proposition__valuePropId__benefit_fields__benefitId__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: benefitId
        in: path
        required: true
        schema:
          type: integer
          title: Benefitid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenefitFieldsPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefits/calculate:
    post:
      tags:
      - benefits-calculate
      summary: Recalculate all benefits with phasing
      description: Trigger a full benefit recalculation for a value prop.
      operationId: calculate_benefits_v1_value_proposition__valuePropId__benefits_calculate_post
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefits/one-time:
    post:
      tags:
      - benefits-one-time
      summary: Create a one-time (on-the-fly) benefit
      description: 'Create a new one-time benefit for a value proposition.


        Inserts rows into account_solution_metrics (vp_specific=1) and

        value_prop_metrics (active=1), inserts optional link rows, writes

        an audit log entry, and triggers inline benefit recalculation.

        Requires privilege_id=6 (Benefit on the Fly).'
      operationId: create_one_time_benefit_endpoint_v1_value_proposition__valuePropId__benefits_one_time_post
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OneTimeBenefitCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OneTimeBenefitResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/benefits/one-time/{benefitId}:
    patch:
      tags:
      - benefits-one-time
      summary: Partially update a one-time benefit
      description: 'Partially update a one-time benefit.


        Only updates fields present in the request payload. Validates ownership

        and one-time status via verify_one_time_benefit. Writes an audit log

        entry and triggers inline benefit recalculation.'
      operationId: update_one_time_benefit_endpoint_v1_value_proposition__valuePropId__benefits_one_time__benefitId__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: benefitId
        in: path
        required: true
        schema:
          type: integer
          title: Benefitid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OneTimeBenefitPatch'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/all-factors:
    get:
      tags:
      - factors
      summary: Get all factors for a Value Proposition
      operationId: get_all_factors_route_v1_value_proposition__valuePropId__all_factors_get
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: ai_updatable_only
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Ai Updatable Only
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AllFactor'
                title: Response Get All Factors Route V1 Value Proposition  Valuepropid  All Factors Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/key-factors:
    get:
      tags:
      - factors
      summary: Get the Key Factors by Factor Group
      description: "Endpoint for reading Key Factors by Factor group\n\nReturns\n-------\nList[FactorGroup]\n    Returns the\
        \ Factors organized by Factor Group"
      operationId: get_key_factors_v1_value_proposition__valuePropId__key_factors_get
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: ai_updatable_only
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Ai Updatable Only
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FactorGroup'
                title: Response Get Key Factors V1 Value Proposition  Valuepropid  Key Factors Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/scalers:
    get:
      tags:
      - factors
      summary: Get the scaling factors of Value Proposition
      description: "Endpoint for reading the Value Proposition scalers\n\nReturns\n-------\nList[Factor]\n    Returns the\
        \ Value Proposition scalers"
      operationId: get_scalers_v1_value_proposition__valuePropId__scalers_get
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: ai_updatable_only
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Ai Updatable Only
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Factor'
                title: Response Get Scalers V1 Value Proposition  Valuepropid  Scalers Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/factors:
    patch:
      tags:
      - factors
      summary: Save the values for factors
      description: "Endpoint for saving Factors\n\nParameters\n----------\nfactors : FactorPayload\n    The Factors and their\
        \ values\n\nReturns\n-------\nMessageResponse\n    Returns status code and success message"
      operationId: update_factors_v1_value_proposition__valuePropId__factors_patch
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FactorPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/factor-override:
    post:
      tags:
      - factors
      summary: override factor name
      description: "Endpoint for overriding factors\n\nParameters\n----------\nfactor_override : FactorOverrideNamePayload\n\
        \    The factor override name and id\n\nReturns\n-------\nMessageResponse\n    Returns status code and success message"
      operationId: override_factor_name_v1_value_proposition__valuePropId__factor_override_post
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FactorOverrideNamePayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/situations:
    get:
      tags:
      - situations
      summary: Get the situations of Value Proposition
      description: "Endpoint for reading the Value Proposition situations\n\nReturns\n-------\nList[Situation]\n    Returns\
        \ the Value Proposition situations"
      operationId: get_situations_v1_value_proposition__valuePropId__situations_get
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      - name: ai_updatable_only
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Ai Updatable Only
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Situation'
                title: Response Get Situations V1 Value Proposition  Valuepropid  Situations Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - situations
      summary: Save the values for situations
      description: "Endpoint for saving situations\n\nParameters\n----------\nrequest\nvalue_prop_id\nsituations : SituationPayload\n\
        \    The situations and their elements to be saved\n\nReturns\n-------\nMessageResponse\n    Returns status code and\
        \ success message"
      operationId: update_situations_v1_value_proposition__valuePropId__situations_post
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SituationPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/value-proposition/{valuePropId}/solutions:
    post:
      tags:
      - solutions
      summary: Post selected solutions
      description: 'Passthrough endpoint to submit the selected solutions.


        This endpoint forwards the selection to the Concierge API.'
      operationId: select_solutions_v1_value_proposition__valuePropId__solutions_post
      security:
      - HTTPBearer: []
      parameters:
      - name: valuePropId
        in: path
        required: true
        schema:
          type: integer
          title: Valuepropid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolutionSelection'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/value_proposition__solutions__models__Solution'
                title: Response Select Solutions V1 Value Proposition  Valuepropid  Solutions Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref:

# --- truncated at 32 KB (349 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/decisionlink/refs/heads/main/openapi/decisionlink-value-proposition-openapi.yml