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

# Get Custom Report Definition



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json post /api/ReportDefinition/GetRiskReportDefinition
openapi: 3.0.1
info:
  title: Derivitec Api 1.0
  version: '1.0'
servers:
  - description: Derivitec Server
    url: https://api.riskportal.activeviam.com
security:
  - oauth2: []
  - apikey: []
paths:
  /api/ReportDefinition/GetRiskReportDefinition:
    post:
      tags:
        - ReportDefinition
      summary: Get Custom Report Definition
      operationId: GetRiskReportDefinition
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionGetRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionGetRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionGetRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionGetRequest'
        description: ''
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiRiskReportDefinitionGetResponse'
          description: Success
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiRiskReportDefinitionGetRequest:
      required:
        - $type
      type: object
      properties:
        report_name:
          nullable: true
          type: string
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskReportDefinition.ApiRiskReportDefinitionGetRequest,
              Derivitec.Web.Core
    ApiRiskReportDefinitionGetResponse:
      example:
        report_description: report_description
        risk_measures:
          - null
          - null
        customizer_id: customizer_id
        shared_with_organisation: true
        is_owner: true
        report_name: report_name
      properties:
        is_success:
          type: boolean
        error_messages:
          items:
            type: string
          nullable: true
          type: array
        customizer_id:
          nullable: true
          type: string
        report_name:
          nullable: true
          type: string
        report_description:
          nullable: true
          type: string
        risk_measures:
          items:
            $ref: '#/components/schemas/IRiskMeasure'
          nullable: true
          type: array
        shared_with_organisation:
          type: boolean
        is_owner:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskReportDefinition.ApiRiskReportDefinitionGetResponse,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    IRiskMeasure:
      discriminator:
        mapping:
          Derivitec.Web.Core.RiskEngine.BorrowCurveDelta, Derivitec.Web.Core: '#/components/schemas/BorrowCurveDelta'
          Derivitec.Web.Core.RiskEngine.BorrowCurveShock, Derivitec.Web.Core: '#/components/schemas/BorrowCurveShock'
          Derivitec.Web.Core.RiskEngine.CmdtyDelta, Derivitec.Web.Core: '#/components/schemas/CmdtyDelta'
          Derivitec.Web.Core.RiskEngine.CmdtyGamma, Derivitec.Web.Core: '#/components/schemas/CmdtyGamma'
          Derivitec.Web.Core.RiskEngine.CmdtyRealisedVol, Derivitec.Web.Core: '#/components/schemas/CmdtyRealisedVol'
          Derivitec.Web.Core.RiskEngine.CmdtyRiskMeasure, Derivitec.Web.Core: '#/components/schemas/CmdtyRiskMeasureMintlifyShape'
          Derivitec.Web.Core.RiskEngine.CmdtyVega, Derivitec.Web.Core: '#/components/schemas/CmdtyVega'
          Derivitec.Web.Core.RiskEngine.CreditDelta, Derivitec.Web.Core: '#/components/schemas/CreditDelta'
          Derivitec.Web.Core.RiskEngine.CreditGamma, Derivitec.Web.Core: '#/components/schemas/CreditGamma'
          Derivitec.Web.Core.RiskEngine.CreditParallelShock, Derivitec.Web.Core: '#/components/schemas/CreditParallelShock'
          Derivitec.Web.Core.RiskEngine.CreditRiskMeasure, Derivitec.Web.Core: '#/components/schemas/CreditRiskMeasureMintlifyShape'
          Derivitec.Web.Core.RiskEngine.CreditSpread, Derivitec.Web.Core: '#/components/schemas/CreditSpread'
          Derivitec.Web.Core.RiskEngine.CreditVega, Derivitec.Web.Core: '#/components/schemas/CreditVega'
          Derivitec.Web.Core.RiskEngine.DividendShock, Derivitec.Web.Core: '#/components/schemas/DividendShock'
          Derivitec.Web.Core.RiskEngine.Duration, Derivitec.Web.Core: '#/components/schemas/Duration'
          Derivitec.Web.Core.RiskEngine.EqCorrelationDelta, Derivitec.Web.Core: '#/components/schemas/EqCorrelationDelta'
          Derivitec.Web.Core.RiskEngine.EqDelta, Derivitec.Web.Core: '#/components/schemas/EqDelta'
          Derivitec.Web.Core.RiskEngine.EqDeltaShares, Derivitec.Web.Core: '#/components/schemas/EqDeltaShares'
          Derivitec.Web.Core.RiskEngine.EqGamma, Derivitec.Web.Core: '#/components/schemas/EqGamma'
          Derivitec.Web.Core.RiskEngine.EqRealisedVol, Derivitec.Web.Core: '#/components/schemas/EqRealisedVol'
          Derivitec.Web.Core.RiskEngine.EqRiskMeasure, Derivitec.Web.Core: '#/components/schemas/EqRiskMeasureMintlifyShape'
          Derivitec.Web.Core.RiskEngine.EqSpotShock, Derivitec.Web.Core: '#/components/schemas/EqSpotShock'
          Derivitec.Web.Core.RiskEngine.EqVanna, Derivitec.Web.Core: '#/components/schemas/EqVanna'
          Derivitec.Web.Core.RiskEngine.EqVega, Derivitec.Web.Core: '#/components/schemas/EqVega'
          Derivitec.Web.Core.RiskEngine.EqVolGamma, Derivitec.Web.Core: '#/components/schemas/EqVolGamma'
          Derivitec.Web.Core.RiskEngine.EqVolSkewDelta, Derivitec.Web.Core: '#/components/schemas/EqVolSkewDelta'
          Derivitec.Web.Core.RiskEngine.EqVolSkewGamma, Derivitec.Web.Core: '#/components/schemas/EqVolSkewGamma'
          Derivitec.Web.Core.RiskEngine.FxDelta, Derivitec.Web.Core: '#/components/schemas/FxDelta'
          Derivitec.Web.Core.RiskEngine.FxDeltaByCross, Derivitec.Web.Core: '#/components/schemas/FxDeltaByCross'
          Derivitec.Web.Core.RiskEngine.FxGamma, Derivitec.Web.Core: '#/components/schemas/FxGamma'
          Derivitec.Web.Core.RiskEngine.FxGammaByCross, Derivitec.Web.Core: '#/components/schemas/FxGammaByCross'
          Derivitec.Web.Core.RiskEngine.FxRealisedVol, Derivitec.Web.Core: '#/components/schemas/FxRealisedVol'
          Derivitec.Web.Core.RiskEngine.FxRiskMeasure, Derivitec.Web.Core: '#/components/schemas/FxRiskMeasureMintlifyShape'
          Derivitec.Web.Core.RiskEngine.FxSpotShock, Derivitec.Web.Core: '#/components/schemas/FxSpotShock'
          Derivitec.Web.Core.RiskEngine.FxSpotVolShock, Derivitec.Web.Core: '#/components/schemas/FxSpotVolShock'
          Derivitec.Web.Core.RiskEngine.FxVanna, Derivitec.Web.Core: '#/components/schemas/FxVanna'
          Derivitec.Web.Core.RiskEngine.FxVega, Derivitec.Web.Core: '#/components/schemas/FxVega'
          Derivitec.Web.Core.RiskEngine.FxVolGamma, Derivitec.Web.Core: '#/components/schemas/FxVolGamma'
          Derivitec.Web.Core.RiskEngine.FxVolShock, Derivitec.Web.Core: '#/components/schemas/FxVolShock'
          Derivitec.Web.Core.RiskEngine.IrBasisShock, Derivitec.Web.Core: '#/components/schemas/IrBasisShock'
          Derivitec.Web.Core.RiskEngine.IrDelta, Derivitec.Web.Core: '#/components/schemas/IrDelta'
          Derivitec.Web.Core.RiskEngine.IrGamma, Derivitec.Web.Core: '#/components/schemas/IrGamma'
          Derivitec.Web.Core.RiskEngine.IrParallelShock, Derivitec.Web.Core: '#/components/schemas/IrParallelShock'
          Derivitec.Web.Core.RiskEngine.IrRiskMeasure, Derivitec.Web.Core: '#/components/schemas/IrRiskMeasureMintlifyShape'
          Derivitec.Web.Core.RiskEngine.IrVega, Derivitec.Web.Core: '#/components/schemas/IrVega'
          Derivitec.Web.Core.RiskEngine.Npv, Derivitec.Web.Core: '#/components/schemas/Npv'
          Derivitec.Web.Core.RiskEngine.PricingDetail, Derivitec.Web.Core: '#/components/schemas/PricingDetail'
          Derivitec.Web.Core.RiskEngine.RealisedVolMeasure, Derivitec.Web.Core: '#/components/schemas/RealisedVolMeasureMintlifyShape'
          Derivitec.Web.Core.RiskEngine.ReferenceVol, Derivitec.Web.Core: '#/components/schemas/ReferenceVol'
          Derivitec.Web.Core.RiskEngine.Rho, Derivitec.Web.Core: '#/components/schemas/Rho'
          Derivitec.Web.Core.RiskEngine.RiskMeasure, Derivitec.Web.Core: '#/components/schemas/RiskMeasureMintlifyShape'
          Derivitec.Web.Core.RiskEngine.ScenarioImpact, Derivitec.Web.Core: '#/components/schemas/ScenarioImpact'
          Derivitec.Web.Core.RiskEngine.ScenarioRiskImpact, Derivitec.Web.Core: '#/components/schemas/ScenarioRiskImpact'
          Derivitec.Web.Core.RiskEngine.Theta, Derivitec.Web.Core: '#/components/schemas/Theta'
          Derivitec.Web.Core.RiskEngine.VegaNotional, Derivitec.Web.Core: '#/components/schemas/VegaNotional'
          Derivitec.Web.Core.Interfaces.ICmdtyRiskMeasure, Derivitec.Web.Core: '#/components/schemas/ICmdtyRiskMeasureMintlifyShape'
          Derivitec.Web.Core.Interfaces.IEqRiskMeasure, Derivitec.Web.Core: '#/components/schemas/IEqRiskMeasureMintlifyShape'
          Derivitec.Web.Core.Interfaces.IFxRiskMeasure, Derivitec.Web.Core: '#/components/schemas/IFxRiskMeasureMintlifyShape'
          Derivitec.Web.Core.Interfaces.IIrRiskMeasure, Derivitec.Web.Core: '#/components/schemas/IIrRiskMeasureMintlifyShape'
          Derivitec.Web.Core.Interfaces.IRiskMeasure, Derivitec.Web.Core: '#/components/schemas/IRiskMeasureMintlifyShape'
        propertyName: $type
      oneOf:
        - $ref: '#/components/schemas/BorrowCurveDelta'
        - $ref: '#/components/schemas/BorrowCurveShock'
        - $ref: '#/components/schemas/CmdtyDelta'
        - $ref: '#/components/schemas/CmdtyGamma'
        - $ref: '#/components/schemas/CmdtyRealisedVol'
        - $ref: '#/components/schemas/CmdtyRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/CmdtyVega'
        - $ref: '#/components/schemas/CreditDelta'
        - $ref: '#/components/schemas/CreditGamma'
        - $ref: '#/components/schemas/CreditParallelShock'
        - $ref: '#/components/schemas/CreditRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/CreditSpread'
        - $ref: '#/components/schemas/CreditVega'
        - $ref: '#/components/schemas/DividendShock'
        - $ref: '#/components/schemas/Duration'
        - $ref: '#/components/schemas/EqCorrelationDelta'
        - $ref: '#/components/schemas/EqDelta'
        - $ref: '#/components/schemas/EqDeltaShares'
        - $ref: '#/components/schemas/EqGamma'
        - $ref: '#/components/schemas/EqRealisedVol'
        - $ref: '#/components/schemas/EqRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/EqSpotShock'
        - $ref: '#/components/schemas/EqVanna'
        - $ref: '#/components/schemas/EqVega'
        - $ref: '#/components/schemas/EqVolGamma'
        - $ref: '#/components/schemas/EqVolSkewDelta'
        - $ref: '#/components/schemas/EqVolSkewGamma'
        - $ref: '#/components/schemas/FxDelta'
        - $ref: '#/components/schemas/FxDeltaByCross'
        - $ref: '#/components/schemas/FxGamma'
        - $ref: '#/components/schemas/FxGammaByCross'
        - $ref: '#/components/schemas/FxRealisedVol'
        - $ref: '#/components/schemas/FxRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/FxSpotShock'
        - $ref: '#/components/schemas/FxSpotVolShock'
        - $ref: '#/components/schemas/FxVanna'
        - $ref: '#/components/schemas/FxVega'
        - $ref: '#/components/schemas/FxVolGamma'
        - $ref: '#/components/schemas/FxVolShock'
        - $ref: '#/components/schemas/IrBasisShock'
        - $ref: '#/components/schemas/IrDelta'
        - $ref: '#/components/schemas/IrGamma'
        - $ref: '#/components/schemas/IrParallelShock'
        - $ref: '#/components/schemas/IrRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/IrVega'
        - $ref: '#/components/schemas/Npv'
        - $ref: '#/components/schemas/PricingDetail'
        - $ref: '#/components/schemas/RealisedVolMeasureMintlifyShape'
        - $ref: '#/components/schemas/ReferenceVol'
        - $ref: '#/components/schemas/Rho'
        - $ref: '#/components/schemas/RiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/ScenarioImpact'
        - $ref: '#/components/schemas/ScenarioRiskImpact'
        - $ref: '#/components/schemas/Theta'
        - $ref: '#/components/schemas/VegaNotional'
        - $ref: '#/components/schemas/ICmdtyRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/IEqRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/IFxRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/IIrRiskMeasureMintlifyShape'
        - $ref: '#/components/schemas/IRiskMeasureMintlifyShape'
    BorrowCurveDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        tenors:
          items:
            type: string
          nullable: true
          type: array
        shock_size:
          format: double
          type: number
        use_proportional_shocks:
          type: boolean
        use_forward_rate_bumps:
          type: boolean
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.BorrowCurveDelta, Derivitec.Web.Core
      required:
        - $type
      type: object
    BorrowCurveShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_proportional_shocks:
          type: boolean
        use_forward_rate_bumps:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.BorrowCurveShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    CmdtyDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        sticky_smile_ratio:
          format: double
          type: number
        use_contract_currency:
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyDelta, Derivitec.Web.Core
      required:
        - $type
      type: object
    CmdtyGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        sticky_smile_ratio:
          format: double
          type: number
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
        use_contract_currency:
          type: boolean
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    CmdtyRealisedVol:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        lookback_window:
          format: int32
          readOnly: true
          type: integer
        use_percentage_points:
          readOnly: true
          type: boolean
        decay_period:
          format: int32
          readOnly: true
          type: integer
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyRealisedVol, Derivitec.Web.Core
    CmdtyRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyRiskMeasure, Derivitec.Web.Core
    CmdtyVega:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyVega, Derivitec.Web.Core
      required:
        - $type
      type: object
    CreditDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        is_spread_based:
          type: boolean
        shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditDelta, Derivitec.Web.Core
      required:
        - $type
      type: object
    CreditGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        is_spread_based:
          type: boolean
        shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    CreditParallelShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CreditParallelShock,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    CreditRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CreditRiskMeasure,
              Derivitec.Web.Core
    CreditSpread:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        reference_bond_yield_curve_id:
          nullable: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditSpread, Derivitec.Web.Core
      required:
        - $type
      type: object
    CreditVega:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditVega, Derivitec.Web.Core
      required:
        - $type
      type: object
    DividendShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        all_in_rate_shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.DividendShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    Duration:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Duration, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqCorrelationDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.EqCorrelationDelta,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    EqDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        sticky_smile_ratio:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqDelta, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqDeltaShares:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqDeltaShares, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        sticky_smile_ratio:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqRealisedVol:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        lookback_window:
          format: int32
          readOnly: true
          type: integer
        use_percentage_points:
          readOnly: true
          type: boolean
        decay_period:
          format: int32
          readOnly: true
          type: integer
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqRealisedVol, Derivitec.Web.Core
    EqRiskMeasureMintlifyShape:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqRiskMeasure, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqSpotShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        sticky_smile_ratio:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqSpotShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqVanna:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_proportional_vol_bumps:
          type: boolean
        use_parallel_shift:
          type: boolean
        shock_equity_vol_indices:
          type: boolean
        sticky_smile_ratio:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVanna, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqVega:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_proportional_vol_bumps:
          type: boolean
        use_parallel_shift:
          type: boolean
        shock_equity_vol_indices:
          type: boolean
        tenors:
          items:
            type: string
          nullable: true
          type: array
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVega, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqVolGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        use_contract_currency:
          readOnly: true
          type: boolean
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_proportional_vol_bumps:
          type: boolean
        use_parallel_shift:
          type: boolean
        shock_equity_vol_indices:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqVolSkewDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        shock_equity_vol_indices:
          type: boolean
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolSkewDelta, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqVolSkewGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        shock_equity_vol_indices:
          type: boolean
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolSkewGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_inverse_currency_shock:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxDelta, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxDeltaByCross:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_by_quoted_fx_cross_id:
          type: boolean
        shock_size:
          format: double
          type: number
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxDeltaByCross, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_inverse_currency_shock:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxGammaByCross:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_by_quoted_fx_cross_id:
          type: boolean
        shock_size:
          format: double
          type: number
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxGammaByCross, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxRealisedVol:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        lookback_window:
          format: int32
          readOnly: true
          type: integer
        use_percentage_points:
          readOnly: true
          type: boolean
        decay_period:
          format: int32
          readOnly: true
          type: integer
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxRealisedVol, Derivitec.Web.Core
    FxRiskMeasureMintlifyShape:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxRiskMeasure, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxSpotShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        calculate_price_changes:
          type: boolean
        include_reporting_currency_shock:
          type: boolean
        use_inverse_currency_shock:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxSpotShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxSpotVolShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        calculate_price_changes:
          type: boolean
        include_reporting_currency_shock:
          type: boolean
        spot_shock_size:
          format: double
          type: number
        use_implied_vol_bumps:
          type: boolean
        use_proportional_vol_bumps:
          type: boolean
        vol_shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxSpotVolShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxVanna:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_implied_vol_bumps:
          type: boolean
        use_inverse_currency_shock:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVanna, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxVega:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        tenors:
          items:
            type: string
          nullable: true
          type: array
        use_implied_vol_bumps:
          type: boolean
        use_inverse_currency_shock:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVega, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxVolGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        shock_size:
          format: double
          type: number
        use_implied_vol_bumps:
          type: boolean
        use_inverse_currency_shock:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVolGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxVolShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          readOnly: true
          type: string
        is_default_vol_surface_spot_model:
          readOnly: true
          type: boolean
        tenors:
          items:
            type: string
          nullable: true
          type: array
        vol_shock_func:
          $ref: '#/components/schemas/IVolShockFunc'
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVolShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    IrBasisShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        use_proportional_shocks:
          type: boolean
        basis_rate_asset_id:
          nullable: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrBasisShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    IrDelta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        tenors:
          items:
            type: string
          nullable: true
          type: array
        shock_size:
          format: double
          type: number
        use_proportional_shocks:
          type: boolean
        use_forward_rate_bumps:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrDelta, Derivitec.Web.Core
      required:
        - $type
      type: object
    IrGamma:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrGamma, Derivitec.Web.Core
      required:
        - $type
      type: object
    IrParallelShock:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        use_proportional_shocks:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrParallelShock, Derivitec.Web.Core
      required:
        - $type
      type: object
    IrRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrRiskMeasure, Derivitec.Web.Core
    IrVega:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        vol_type:
          enum:
            - black
            - bachelier
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrVega, Derivitec.Web.Core
      required:
        - $type
      type: object
    Npv:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        return_futures_price:
          type: boolean
        return_percent_price:
          type: boolean
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Npv, Derivitec.Web.Core
      required:
        - $type
      type: object
    PricingDetail:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        pricing_detail_type:
          enum:
            - underlying_price
            - reference_vol
            - futures_price
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.PricingDetail, Derivitec.Web.Core
      required:
        - $type
      type: object
    RealisedVolMeasureMintlifyShape:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        lookback_window:
          format: int32
          readOnly: true
          type: integer
        use_percentage_points:
          readOnly: true
          type: boolean
        decay_period:
          format: int32
          readOnly: true
          type: integer
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.RealisedVolMeasure,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    ReferenceVol:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.ReferenceVol, Derivitec.Web.Core
    Rho:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        shock_size:
          format: double
          type: number
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Rho, Derivitec.Web.Core
      required:
        - $type
      type: object
    RiskMeasureMintlifyShape:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.RiskMeasure, Derivitec.Web.Core
      required:
        - $type
      type: object
    ScenarioImpact:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        calculate_price_changes:
          type: boolean
        scale_factor:
          format: double
          type: number
        scenario:
          $ref: '#/components/schemas/RiskScenario'
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.ScenarioImpact, Derivitec.Web.Core
      required:
        - $type
      type: object
    ScenarioRiskImpact:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        calculate_risk_changes:
          type: boolean
        risk_measure:
          $ref: '#/components/schemas/IRiskMeasure'
        scale_factor:
          format: double
          type: number
        scenario:
          $ref: '#/components/schemas/RiskScenario'
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.ScenarioRiskImpact,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    Theta:
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        roll_days:
          format: int32
          type: integer
        rebase_cash_flows:
          type: boolean
        ignore_credit_spread_term_structure:
          type: boolean
        use_contract_currency:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Theta, Derivitec.Web.Core
      required:
        - $type
      type: object
    VegaNotional:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          nullable: true
          readOnly: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.VegaNotional, Derivitec.Web.Core
    ICmdtyRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.Interfaces.ICmdtyRiskMeasure,
              Derivitec.Web.Core
    IEqRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IEqRiskMeasure, Derivitec.Web.Core
    IFxRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IFxRiskMeasure, Derivitec.Web.Core
    IIrRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IIrRiskMeasure, Derivitec.Web.Core
    IRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IRiskMeasure, Derivitec.Web.Core
    IVolShockFunc:
      discriminator:
        mapping:
          Derivitec.Web.Core.RiskEngine.VolShockFuncShocksByStrike, Derivitec.Web.Core: '#/components/schemas/VolShockFuncShocksByStrike'
          Derivitec.Web.Core.Interfaces.IVolShockFunc, Derivitec.Web.Core: '#/components/schemas/IVolShockFuncMintlifyShape'
        propertyName: $type
      oneOf:
        - $ref: '#/components/schemas/VolShockFuncShocksByStrike'
        - $ref: '#/components/schemas/IVolShockFuncMintlifyShape'
    RiskScenario:
      discriminator:
        mapping:
          Derivitec.Web.Core.RiskEngine.RiskScenario, Derivitec.Web.Core: '#/components/schemas/RiskScenarioMintlifyShape'
          Derivitec.Web.Core.RiskEngine.CmdtySpotScenario, Derivitec.Web.Core: '#/components/schemas/CmdtySpotScenario'
          Derivitec.Web.Core.RiskEngine.CmdtyVolScenario, Derivitec.Web.Core: '#/components/schemas/CmdtyVolScenario'
          Derivitec.Web.Core.RiskEngine.CompositeScenario, Derivitec.Web.Core: '#/components/schemas/CompositeScenario'
          Derivitec.Web.Core.RiskEngine.CreditScenario, Derivitec.Web.Core: '#/components/schemas/CreditScenario'
          Derivitec.Web.Core.RiskEngine.EqSpotScenario, Derivitec.Web.Core: '#/components/schemas/EqSpotScenario'
          Derivitec.Web.Core.RiskEngine.EqVolScenario, Derivitec.Web.Core: '#/components/schemas/EqVolScenario'
          Derivitec.Web.Core.RiskEngine.FxSpotScenario, Derivitec.Web.Core: '#/components/schemas/FxSpotScenario'
          Derivitec.Web.Core.RiskEngine.FxVolSurfaceScenario, Derivitec.Web.Core: '#/components/schemas/FxVolSurfaceScenario'
          Derivitec.Web.Core.RiskEngine.HistoricalScenario, Derivitec.Web.Core: '#/components/schemas/HistoricalScenario'
          Derivitec.Web.Core.RiskEngine.IRParallelShockScenario, Derivitec.Web.Core: '#/components/schemas/IRParallelShockScenario'
          Derivitec.Web.Core.RiskEngine.IrRateAssetScenario, Derivitec.Web.Core: '#/components/schemas/IrRateAssetScenario'
          Derivitec.Web.Core.RiskEngine.IRShockScenario, Derivitec.Web.Core: '#/components/schemas/IRShockScenario'
          Derivitec.Web.Core.RiskEngine.JumpToDefaultScenario, Derivitec.Web.Core: '#/components/schemas/JumpToDefaultScenario'
          Derivitec.Web.Core.RiskEngine.ThetaScenario, Derivitec.Web.Core: '#/components/schemas/ThetaScenario'
        propertyName: $type
      oneOf:
        - $ref: '#/components/schemas/RiskScenarioMintlifyShape'
        - $ref: '#/components/schemas/CmdtySpotScenario'
        - $ref: '#/components/schemas/CmdtyVolScenario'
        - $ref: '#/components/schemas/CompositeScenario'
        - $ref: '#/components/schemas/CreditScenario'
        - $ref: '#/components/schemas/EqSpotScenario'
        - $ref: '#/components/schemas/EqVolScenario'
        - $ref: '#/components/schemas/FxSpotScenario'
        - $ref: '#/components/schemas/FxVolSurfaceScenario'
        - $ref: '#/components/schemas/HistoricalScenario'
        - $ref: '#/components/schemas/IRParallelShockScenario'
        - $ref: '#/components/schemas/IrRateAssetScenario'
        - $ref: '#/components/schemas/IRShockScenario'
        - $ref: '#/components/schemas/JumpToDefaultScenario'
        - $ref: '#/components/schemas/ThetaScenario'
    VolShockFuncShocksByStrike:
      properties:
        shock_by_strike_func:
          $ref: '#/components/schemas/DoubleDoubleIFunc1Param'
        maturity_beta_func:
          $ref: '#/components/schemas/DoubleDoubleIFunc1Param'
        strike_func_expects_delta:
          type: boolean
        use_proportional_shocks:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.VolShockFuncShocksByStrike,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    IVolShockFuncMintlifyShape:
      required:
        - $type
      type: object
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IVolShockFunc, Derivitec.Web.Core
    RiskScenarioMintlifyShape:
      example:
        scenario_name: scenario_name
        scenario_description: scenario_description
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.RiskScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    CmdtySpotScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        shock_size:
          format: double
          type: number
        sticky_smile_ratio:
          format: double
          type: number
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CmdtySpotScenario,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    CmdtyVolScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        shock_size:
          format: double
          type: number
        use_proportional_vol_bump:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyVolScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    CompositeScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        scenarios:
          items:
            $ref: '#/components/schemas/RiskScenario'
          nullable: true
          type: array
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CompositeScenario,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    CreditScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        reference_issuer_identifier:
          $ref: '#/components/schemas/IssuerIdentifier'
        reference_currency:
          nullable: true
          type: string
        reference_debt_type:
          nullable: true
          type: string
        tenors:
          items:
            type: string
          nullable: true
          type: array
        credit_spread_floor:
          format: double
          type: number
        global_shock:
          format: double
          type: number
        shocks_by_issuer_identifier:
          items:
            $ref: '#/components/schemas/IssuerIdentifierDoubleKeyValuePair'
          nullable: true
          type: array
        use_proportional_shocks:
          type: boolean
        use_forward_rate_bumps:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqSpotScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        shock_size:
          format: double
          type: number
        shocks_by_equity_asset:
          items:
            $ref: '#/components/schemas/InstrumentIdentifierDoubleKeyValuePair'
          nullable: true
          type: array
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
        sticky_smile_ratio:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqSpotScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    EqVolScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        bumped_vol_floor:
          format: double
          type: number
        shock_size:
          format: double
          type: number
        use_parallel_shift:
          type: boolean
        use_proportional_vol_bump:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxSpotScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        shock_size:
          format: double
          type: number
        currency:
          nullable: true
          type: string
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxSpotScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    FxVolSurfaceScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        currency_to_bump:
          nullable: true
          type: string
        vol_shock:
          format: double
          type: number
        use_proportional_vol_bumps:
          type: boolean
        counter_currency:
          nullable: true
          type: string
        vol_shock_funcs_by_fx_pair:
          items:
            $ref: '#/components/schemas/StringIVolShockFuncKeyValuePair'
          nullable: true
          type: array
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.FxVolSurfaceScenario,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    HistoricalScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        end_date:
          type: string
        start_date:
          type: string
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.HistoricalScenario,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    IRParallelShockScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        global_shock:
          format: double
          type: number
        shocks_by_currency:
          additionalProperties:
            format: double
            type: number
          nullable: true
          type: object
        use_proportional_shocks:
          readOnly: true
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.IRParallelShockScenario,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    IrRateAssetScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        global_shock:
          format: double
          type: number
        shocks_by_rate_asset_id:
          items:
            $ref: '#/components/schemas/StringDiscountCurveBumpKeyValuePair'
          nullable: true
          type: array
        use_proportional_shocks:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.IrRateAssetScenario,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    IRShockScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        global_shock:
          $ref: '#/components/schemas/DiscountCurveBump'
        shocks_by_currency:
          items:
            $ref: '#/components/schemas/StringDiscountCurveBumpKeyValuePair'
          nullable: true
          type: array
        bump_discount_curves:
          type: boolean
        bump_bond_yield_curves:
          type: boolean
        bump_equity_assets:
          type: boolean
        bump_equity_vol_indices:
          type: boolean
        bump_rate_assets:
          type: boolean
        bump_fx_crosses:
          type: boolean
        bump_commodities:
          type: boolean
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IRShockScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    JumpToDefaultScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        recovery_rates_by_issuer_identifier:
          items:
            $ref: '#/components/schemas/IssuerIdentifierDoubleKeyValuePair'
          nullable: true
          type: array
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.JumpToDefaultScenario,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    ThetaScenario:
      properties:
        scenario_description:
          nullable: true
          type: string
        scenario_name:
          nullable: true
          type: string
        roll_days:
          format: int32
          type: integer
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.ThetaScenario, Derivitec.Web.Core
      required:
        - $type
      type: object
    DoubleDoubleIFunc1Param:
      discriminator:
        mapping:
          Derivitec.Web.Core.Func.PowerFuncDouble, Derivitec.Web.Core: '#/components/schemas/PowerFuncDouble'
          Derivitec.Web.Core.Func.SplineInterpolatedFuncDouble, Derivitec.Web.Core: '#/components/schemas/SplineInterpolatedFuncDouble'
        propertyName: $type
      oneOf:
        - $ref: '#/components/schemas/PowerFuncDouble'
        - $ref: '#/components/schemas/SplineInterpolatedFuncDouble'
    IssuerIdentifier:
      example:
        code: code
        identifier_type: DerivitecBondIssuerId
      properties:
        code:
          nullable: true
          type: string
        identifier_type:
          enum:
            - DerivitecBondIssuerId
            - ReutersOrgId
            - ShortName
            - Lei
            - RedCode
            - MarkitTicker
            - ReutersIssuerId
            - CBondsIssuerId
            - PermId
            - BloombergCompanyId
            - NotSet
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.IssuerIdentifier, Derivitec.Web.Core
      required:
        - $type
      type: object
    IssuerIdentifierDoubleKeyValuePair:
      properties:
        key:
          $ref: '#/components/schemas/IssuerIdentifier'
        value:
          format: double
          type: number
      type: object
    InstrumentIdentifierDoubleKeyValuePair:
      example:
        value: 1.4658129805029452
        key:
          code: code
          market_identification_code: market_identification_code
          identifier_type: Derivitec
      properties:
        key:
          $ref: '#/components/schemas/InstrumentIdentifier'
        value:
          format: double
          type: number
      type: object
    StringIVolShockFuncKeyValuePair:
      properties:
        key:
          nullable: true
          type: string
        value:
          $ref: '#/components/schemas/IVolShockFunc'
      type: object
    StringDiscountCurveBumpKeyValuePair:
      properties:
        key:
          nullable: true
          type: string
        value:
          $ref: '#/components/schemas/DiscountCurveBump'
      type: object
    DiscountCurveBump:
      properties:
        rate_bumps:
          items:
            format: double
            type: number
          nullable: true
          type: array
        tenors:
          items:
            type: string
          nullable: true
          type: array
        maturities:
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        use_proportional_rate_bumps:
          type: boolean
        use_forward_rate_bumps:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.DiscountCurveBump,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    PowerFuncDouble:
      properties:
        min:
          format: double
          nullable: true
          type: number
        max:
          format: double
          nullable: true
          type: number
        slope:
          format: double
          type: number
        intercept:
          format: double
          type: number
        exponent:
          format: double
          type: number
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Func.PowerFuncDouble, Derivitec.Web.Core
      required:
        - $type
      type: object
    SplineInterpolatedFuncDouble:
      required:
        - $type
      type: object
      properties:
        x_values:
          items:
            format: double
            type: number
          nullable: true
          type: array
        y_values:
          items:
            format: double
            type: number
          nullable: true
          type: array
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.Func.SplineInterpolatedFuncDouble,
              Derivitec.Web.Core
    InstrumentIdentifier:
      example:
        code: code
        market_identification_code: market_identification_code
        identifier_type: Derivitec
      properties:
        code:
          nullable: true
          type: string
        identifier_type:
          enum:
            - Derivitec
            - Ric
            - Bloomberg
            - Isin
            - Figi
            - Sedol
            - RedCode
            - RedPairCode
            - BloombergYellow
            - XIgniteCode
            - CBondsId
            - EdiSecId
            - EdiSymbol
            - NotSet
          type: string
        market_identification_code:
          nullable: true
          type: string
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.InstrumentIdentifier,
              Derivitec.Web.Core
      required:
        - $type
      type: object
  securitySchemes:
    oauth2:
      description: >-
        OAuth2 access-token requested from AWS Cognito and provided as a Auth
        Bearer header
      flows:
        implicit:
          authorizationUrl: https://auth.riskportal.derivitec.com/oauth2/authorize
          scopes: {}
      type: oauth2
    apikey:
      description: API-Key requested via the site and provided as a header
      in: header
      name: x-api-key
      type: apiKey

````