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

# Create a custom risk report definition.

> Creates an organisation-visible custom definition from an accessible template report. The new name must be
unique within the caller's organisation. Creation completes before the normal response envelope is
returned, but that response does not contain the new definition identifier; list custom definitions after
creation to obtain it. No version, ETag, or cancellation contract is exposed.



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json post /api/ReportDefinition/CreateCustomReportDefinition
openapi: 3.0.4
info:
  title: Derivitec Api 1.0
  version: '1.0'
servers:
  - url: https://api.riskportal.activeviam.com
security:
  - oauth2: []
  - apikey: []
tags:
  - name: AdminUser
  - name: AtotiReport
  - name: AtotiSession
  - name: BloombergOAuth
  - name: Bond
  - name: BondYieldCurvePage
  - name: BookAccess
  - name: Books
  - name: Commodity
  - name: Counterparties
  - name: Currencies
  - name: Equity
  - name: EquityDividend
  - name: EquityPage
  - name: FeatureFlag
  - name: Fx
  - name: FxPage
  - name: GroupAccess
  - name: Home
  - name: LegacyPosition
  - name: MarketData
  - name: MarketDataProvider
  - name: MarketDataProviderAccess
  - name: Meta
  - name: Notification
  - name: Organisation
  - name: PnLReport
  - name: PortfolioAccess
  - name: Portfolios
  - name: Position
  - name: PositionFilter
  - name: PricingEnvironment
  - name: PricingEnvironmentAccess
  - name: RateAsset
  - name: RateAssetPage
  - name: Report
  - name: ReportDefinition
  - name: ReportHistoryLauncherQuery
  - name: ReportLauncher
  - name: ReportQuery
  - name: ReportQueryViewUser
  - name: ReportRestriction
  - name: ReportView
  - name: RiskReport
  - name: Tradable
  - name: TradeBooking
  - name: User
  - name: VarReport
  - name: VarReportQuery
  - name: YieldCurvePage
paths:
  /api/ReportDefinition/CreateCustomReportDefinition:
    post:
      tags:
        - ReportDefinition
      summary: Create a custom risk report definition.
      description: >-
        Creates an organisation-visible custom definition from an accessible
        template report. The new name must be

        unique within the caller's organisation. Creation completes before the
        normal response envelope is

        returned, but that response does not contain the new definition
        identifier; list custom definitions after

        creation to obtain it. No version, ETag, or cancellation contract is
        exposed.
      operationId: CreateCustomReportDefinition
      requestBody:
        description: >-
          The body containing the accessible template `ReportName`, unique
          `NewReportName`, and the `RiskMeasures` and `RiskMeasureColumns` for
          the new definition. Caller, organisation, template-definition
          identifier, report type, and restriction context are server-managed.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionCreateRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionCreateRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionCreateRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApiRiskReportDefinitionCreateRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiRiskReportDefinitionCreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiRiskReportDefinitionCreateRequest:
      required:
        - $type
      type: object
      properties:
        report_name:
          type: string
          description: >-
            Organisation-scoped name of the report definition to select. The
            value must not be null or empty.
          nullable: true
          example: Daily risk overview
        new_report_name:
          type: string
          description: Name requested for the report definition.
          nullable: true
        risk_measures:
          type: array
          items:
            $ref: '#/components/schemas/IRiskMeasure'
          description: Risk measures associated with the risk report definition.
          nullable: true
        risk_measure_columns:
          type: array
          items:
            $ref: '#/components/schemas/ReportColumn'
          description: Columns selected for the risk report definition.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskReportDefinition.ApiRiskReportDefinitionCreateRequest,
              Derivitec.Web.Core
      additionalProperties: false
      description: Name, measures, and columns for creating a risk report definition.
    ApiRiskReportDefinitionCreateResponse:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Response envelope for an attempt to create a risk report definition.
      properties:
        is_success:
          type: boolean
          description: >-
            Whether the operation completed successfully. The default is `true`;
            error outcomes set it to `false`.
          example: true
        error_messages:
          type: array
          items:
            type: string
          description: >-
            Messages explaining operation-level failures. The collection is
            empty by default.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskReportDefinition.ApiRiskReportDefinitionCreateResponse,
              Derivitec.Web.Core
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: false
    IRiskMeasure:
      description: >-
        Common role for a named risk measure exposed through calculation and
        report contracts.
      discriminator:
        propertyName: $type
        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.CmdtySpotShock, Derivitec.Web.Core: '#/components/schemas/CmdtySpotShock'
          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.DividendDelta, Derivitec.Web.Core: '#/components/schemas/DividendDelta'
          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.EqFairVolDelta, Derivitec.Web.Core: '#/components/schemas/EqFairVolDelta'
          Derivitec.Web.Core.RiskEngine.EqFairVolGamma, Derivitec.Web.Core: '#/components/schemas/EqFairVolGamma'
          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.EqVolIndexDeltaShares, Derivitec.Web.Core: '#/components/schemas/EqVolIndexDeltaShares'
          Derivitec.Web.Core.RiskEngine.EqVolIndexGammaShares, Derivitec.Web.Core: '#/components/schemas/EqVolIndexGammaShares'
          Derivitec.Web.Core.RiskEngine.EqVolIndexVega, Derivitec.Web.Core: '#/components/schemas/EqVolIndexVega'
          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.MarketDataErrorReportingMeasure, Derivitec.Web.Core: '#/components/schemas/MarketDataErrorReportingMeasure'
          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.StoredScenario, Derivitec.Web.Core: '#/components/schemas/StoredScenario'
          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'
      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/CmdtySpotShock'
        - $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/DividendDelta'
        - $ref: '#/components/schemas/DividendShock'
        - $ref: '#/components/schemas/Duration'
        - $ref: '#/components/schemas/EqCorrelationDelta'
        - $ref: '#/components/schemas/EqDelta'
        - $ref: '#/components/schemas/EqDeltaShares'
        - $ref: '#/components/schemas/EqFairVolDelta'
        - $ref: '#/components/schemas/EqFairVolGamma'
        - $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/EqVolIndexDeltaShares'
        - $ref: '#/components/schemas/EqVolIndexGammaShares'
        - $ref: '#/components/schemas/EqVolIndexVega'
        - $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/MarketDataErrorReportingMeasure'
        - $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/StoredScenario'
        - $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'
    ReportColumn:
      required:
        - $type
      type: object
      properties:
        display_name:
          type: string
          description: Display label for this report-definition column.
          nullable: true
        description:
          type: string
          description: Description of this report-definition column.
          nullable: true
        risk_measure:
          $ref: '#/components/schemas/IRiskMeasure'
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Reports.ReportColumn, Derivitec.Web.Core
      additionalProperties: false
      description: Column made available by a report definition.
    BorrowCurveDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        tenors:
          type: array
          items:
            type: string
          description: Gets the list of tenors
          nullable: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_proportional_shocks:
          type: boolean
          description: Gets the proportional shock flag.
        use_forward_rate_bumps:
          type: boolean
          description: Gets the forward rate bump flag.
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.BorrowCurveDelta, Derivitec.Web.Core
      additionalProperties: false
      description: Class BorrowCurveDelta.
    BorrowCurveShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_proportional_shocks:
          type: boolean
          description: Gets the proportional shock flag.
        use_forward_rate_bumps:
          type: boolean
          description: Gets the forward rate bump flag.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.BorrowCurveShock, Derivitec.Web.Core
      additionalProperties: false
      description: Class BorrowCurveShock.
    CmdtyDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        sticky_smile_ratio:
          type: number
          description: Gets the sticky smile ratio
          format: double
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyDelta, Derivitec.Web.Core
      additionalProperties: false
      description: The commodity delta delta.
    CmdtyGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        sticky_smile_ratio:
          type: number
          description: Gets the sticky smile ratio
          format: double
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyGamma, Derivitec.Web.Core
      additionalProperties: false
      description: Class commodity gamma.
    CmdtyRealisedVol:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Class CmdtyRealisedVol.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        lookback_window:
          type: integer
          description: The lookback window length.
          format: int32
          readOnly: true
        use_percentage_points:
          type: boolean
          description: >-
            If set true realised vols are expressed in percentage points,
            otherwise they are expressed in reporting ccy units by scaling with
            spot.
          readOnly: true
        decay_period:
          type: integer
          description: The exponential decay period used to determine weights.
          format: int32
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyRealisedVol, Derivitec.Web.Core
    CmdtyRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The commodity risk measure.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyRiskMeasure, Derivitec.Web.Core
    CmdtySpotShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        calculate_price_changes:
          type: boolean
          description: >-
            Set to true to calculate price *changes*. Otherwise we calculate
            prices.
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
        sticky_smile_ratio:
          type: number
          description: Gets or sets the sticky smile ratio.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtySpotShock, Derivitec.Web.Core
      additionalProperties: false
      description: The commodity spot risk.
    CmdtyVega:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyVega, Derivitec.Web.Core
      additionalProperties: false
      description: The commodity vega class.
    CreditDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        is_spread_based:
          type: boolean
          description: Gets the shock size
        shock_size:
          type: number
          description: The shock size.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditDelta, Derivitec.Web.Core
      additionalProperties: false
      description: The credit delta.
    CreditGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        is_spread_based:
          type: boolean
          description: Gets the shock size
        shock_size:
          type: number
          description: The shock size.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditGamma, Derivitec.Web.Core
      additionalProperties: false
      description: The credit gamma
    CreditParallelShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CreditParallelShock,
              Derivitec.Web.Core
      additionalProperties: false
      description: The CreditParallelShock.
    CreditRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The credit risk measure.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CreditRiskMeasure,
              Derivitec.Web.Core
    CreditSpread:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        reference_bond_yield_curve_id:
          type: string
          description: >-
            The reference bond yield curve id (optional).

            If populated all credit spreads are measured against this yield
            curve
          nullable: true
        use_discount_curve_as_reference_curve:
          type: boolean
          description: >-
            Set to true if credit spreads should be measured relative to the
            discount rate in the same currency as the bond
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditSpread, Derivitec.Web.Core
      additionalProperties: false
    CreditVega:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditVega, Derivitec.Web.Core
      additionalProperties: false
      description: The credit vega.
    DividendDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: Gets the shock size
          format: double
        is_all_in_rate_shock:
          type: boolean
          description: Gets the all in rate shock flag
        tenors:
          type: array
          items:
            type: string
          description: Gets the list of tenors
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.DividendDelta, Derivitec.Web.Core
      additionalProperties: false
      description: Class DividendDelta.
    DividendShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        all_in_rate_shock_size:
          type: number
          description: The all in rate shock size
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.DividendShock, Derivitec.Web.Core
      additionalProperties: false
      description: Class IrDelta.
    Duration:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Duration, Derivitec.Web.Core
      additionalProperties: false
      description: The rho.
    EqCorrelationDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: Gets the shock size
          format: double
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.EqCorrelationDelta,
              Derivitec.Web.Core
      additionalProperties: false
      description: Class EqDelta.
    EqDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: Gets the shock size
          format: double
        sticky_smile_ratio:
          type: number
          description: Gets the sticky smile ratio
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqDelta, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqDelta.
    EqDeltaShares:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqDeltaShares, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqDeltaShares.
    EqFairVolDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqFairVolDelta, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqFairVolDelta.
    EqFairVolGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqFairVolGamma, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqVolIndexGammaShares.
    EqGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: Gets the shock size
          format: double
        sticky_smile_ratio:
          type: number
          description: Gets the sticky smile ratio
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqGamma, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqGamma.
    EqRealisedVol:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Class EqRealisedVol.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        lookback_window:
          type: integer
          description: The lookback window length.
          format: int32
          readOnly: true
        use_percentage_points:
          type: boolean
          description: >-
            If set true realised vols are expressed in percentage points,
            otherwise they are expressed in reporting ccy units by scaling with
            spot.
          readOnly: true
        decay_period:
          type: integer
          description: The exponential decay period used to determine weights.
          format: int32
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqRealisedVol, Derivitec.Web.Core
    EqRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqRiskMeasure, Derivitec.Web.Core
      additionalProperties: false
      description: The risk measure.
    EqSpotShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        sticky_smile_ratio:
          type: number
          description: Gets or sets the sticky smile ratio.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqSpotShock, Derivitec.Web.Core
      additionalProperties: false
      description: The equity spot risk.
    EqVanna:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_proportional_vol_bumps:
          type: boolean
          description: Gets the use proportional vol bumps flag.
        use_parallel_shift:
          type: boolean
          description: Gets the use parallel shift flag.
        shock_equity_vol_indices:
          type: boolean
          description: Gets the shock equity vol indices flag.
        sticky_smile_ratio:
          type: number
          description: Gets the sticky smile ratio
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVanna, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqVanna.
    EqVega:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_proportional_vol_bumps:
          type: boolean
          description: Gets the use proportional vol bumps flag.
        use_parallel_shift:
          type: boolean
          description: Gets the use parallel shift flag.
        shock_equity_vol_indices:
          type: boolean
          description: Gets the shock equity vol indices flag.
        tenors:
          type: array
          items:
            type: string
          description: Gets the list of tenors
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVega, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqVega.
    EqVolGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky delta.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_proportional_vol_bumps:
          type: boolean
          description: Gets the use proportional vol bumps flag.
        use_parallel_shift:
          type: boolean
          description: Gets the use parallel shift flag.
        shock_equity_vol_indices:
          type: boolean
          description: Gets the shock equity vol indices flag.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolGamma, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqVolGamma.
    EqVolIndexDeltaShares:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.EqVolIndexDeltaShares,
              Derivitec.Web.Core
      additionalProperties: false
      description: Class EqVolIndexDeltaShares.
    EqVolIndexGammaShares:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.EqVolIndexGammaShares,
              Derivitec.Web.Core
      additionalProperties: false
      description: Class EqVolIndexGammaShares.
    EqVolIndexVega:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolIndexVega, Derivitec.Web.Core
      additionalProperties: false
      description: Class EqVolIndexVega.
    EqVolSkewDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        shock_equity_vol_indices:
          type: boolean
          description: Gets the shock equity vol indices flag.
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolSkewDelta, Derivitec.Web.Core
      additionalProperties: false
    EqVolSkewGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        shock_equity_vol_indices:
          type: boolean
          description: Gets the shock equity vol indices flag.
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolSkewGamma, Derivitec.Web.Core
      additionalProperties: false
    FxDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        use_inverse_currency_shock:
          type: boolean
          description: >-
            Flag to apply bump to the inverse currency pair. The reporting
            currency is the base currency.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxDelta, Derivitec.Web.Core
      additionalProperties: false
      description: The FX delta measure.
    FxDeltaByCross:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_by_quoted_fx_cross_id:
          type: boolean
          description: >-
            for a given underlying currency pair we need to decide if we
            calculate delta by shocking XXXYYY or YYYXXX

            If this flag is true, we shock the direction with IsQuotedFxCross ==
            true; otherwise we shock XXXYYY where YYY is the premium currency
        shock_size:
          type: number
          description: The shock size.
          format: double
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxDeltaByCross, Derivitec.Web.Core
      additionalProperties: false
      description: The FX delta by cross measure.
    FxGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        use_inverse_currency_shock:
          type: boolean
          description: >-
            Flag to apply bump to the inverse currency pair. The reporting
            currency is the base currency.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxGamma, Derivitec.Web.Core
      additionalProperties: false
      description: The FX gamma measure.
    FxGammaByCross:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_by_quoted_fx_cross_id:
          type: boolean
          description: >-
            for a given underlying currency pair we need to decide if we
            calculate gamma by shocking XXXYYY or YYYXXX

            If this flag is true, we shock the direction with IsQuotedFxCross ==
            true; otherwise we shock XXXYYY where YYY is the premium currency
        shock_size:
          type: number
          description: The shock size.
          format: double
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxGammaByCross, Derivitec.Web.Core
      additionalProperties: false
      description: The FX gamma measure.
    FxRealisedVol:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Class FxRealisedVol.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        lookback_window:
          type: integer
          description: The lookback window length.
          format: int32
          readOnly: true
        use_percentage_points:
          type: boolean
          description: >-
            If set true realised vols are expressed in percentage points,
            otherwise they are expressed in reporting ccy units by scaling with
            spot.
          readOnly: true
        decay_period:
          type: integer
          description: The exponential decay period used to determine weights.
          format: int32
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxRealisedVol, Derivitec.Web.Core
    FxRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxRiskMeasure, Derivitec.Web.Core
      additionalProperties: false
      description: The FX risk measure.
    FxSpotShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        calculate_price_changes:
          type: boolean
          description: >-
            Set to true to calculate price *changes*. Otherwise we calculate
            prices.
        include_reporting_currency_shock:
          type: boolean
          description: Include reporting currency shock.
        use_inverse_currency_shock:
          type: boolean
          description: Gets or sets the inverse currency shock flag.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxSpotShock, Derivitec.Web.Core
      additionalProperties: false
      description: The FX spot risk.
    FxSpotVolShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        calculate_price_changes:
          type: boolean
          description: >-
            Set to true to calculate price *changes*. Otherwise we calculate
            prices.
        include_reporting_currency_shock:
          type: boolean
          description: Include reporting currency shock.
        spot_shock_size:
          type: number
          description: The spot shock size.
          format: double
        use_implied_vol_bumps:
          type: boolean
          description: True to use implied vol bumps.
        use_proportional_vol_bumps:
          type: boolean
          description: The use proportional vol bumps flag.
        vol_shock_size:
          type: number
          description: The vol shock size.
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxSpotVolShock, Derivitec.Web.Core
      additionalProperties: false
      description: The FX spot vol shock measure.
    FxVanna:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_implied_vol_bumps:
          type: boolean
          description: >-
            If set to true vol bumps for surfaces without explicit reporting
            currency dependency will be implied from bumps to vol surfaces
            involving the reporting currency.
        use_inverse_currency_shock:
          type: boolean
          description: >-
            Flag to apply bump to the inverse currency pair. The reporting
            currency is the base currency.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVanna, Derivitec.Web.Core
      additionalProperties: false
      description: Class FxVanna.
    FxVega:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        tenors:
          type: array
          items:
            type: string
          description: Gets the list of tenors
          nullable: true
        use_implied_vol_bumps:
          type: boolean
          description: >-
            If set to true vol bumps for surfaces without explicit reporting
            currency dependency will be implied from bumps to vol surfaces
            involving the reporting currency.
        use_inverse_currency_shock:
          type: boolean
          description: >-
            Flag to apply bump to the inverse currency pair. The reporting
            currency is the base currency.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVega, Derivitec.Web.Core
      additionalProperties: false
      description: Class FxVega.
    FxVolGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_implied_vol_bumps:
          type: boolean
          description: >-
            If set to true vol bumps for surfaces without explicit reporting
            currency dependency will be implied from bumps to vol surfaces
            involving the reporting currency.
        use_inverse_currency_shock:
          type: boolean
          description: >-
            Flag to apply bump to the inverse currency pair. The reporting
            currency is the base currency.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVolGamma, Derivitec.Web.Core
      additionalProperties: false
      description: Class FxVolGamma.
    FxVolShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets the vol surface spot model.
          readOnly: true
        is_default_vol_surface_spot_model:
          type: boolean
          description: True for sticky spot model.
          readOnly: true
        tenors:
          type: array
          items:
            type: string
          description: Gets the list of tenors
          nullable: true
        vol_shock_func:
          $ref: '#/components/schemas/IVolShockFunc'
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxVolShock, Derivitec.Web.Core
      additionalProperties: false
      description: The FX vol shock dto.
    IrBasisShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        use_proportional_shocks:
          type: boolean
          description: If true all shocks are proportional (-10% shock means 5% -> 4.5%).
        basis_rate_asset_id:
          type: string
          description: >-
            This measure will basis shock all the non basis rate assets and
            re-price contracts which depend on the basis.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrBasisShock, Derivitec.Web.Core
      additionalProperties: false
      description: The ir basis risk.
    IrDelta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        tenors:
          type: array
          items:
            type: string
          description: Gets the list of tenors
          nullable: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_proportional_shocks:
          type: boolean
          description: Gets the proportional shock flag.
        use_forward_rate_bumps:
          type: boolean
          description: Gets the forward rate bump flag.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrDelta, Derivitec.Web.Core
      additionalProperties: false
      description: Class IrDelta.
    IrGamma:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrGamma, Derivitec.Web.Core
      additionalProperties: false
      description: Class FxVega.
    IrParallelShock:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        use_proportional_shocks:
          type: boolean
          description: If true all shocks are proportional (-10% shock means 5% -> 4.5%).
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrParallelShock, Derivitec.Web.Core
      additionalProperties: false
      description: The equity spot risk.
    IrRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The risk measure.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrRiskMeasure, Derivitec.Web.Core
    IrVega:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: The shock size.
          format: double
        vol_type:
          enum:
            - black
            - bachelier
          type: string
          description: The vol type.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IrVega, Derivitec.Web.Core
      additionalProperties: false
      description: Class FxVega.
    MarketDataErrorReportingMeasure:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The MarketDataErrorReportingMeasure.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.MarketDataErrorReportingMeasure,
              Derivitec.Web.Core
    Npv:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        return_futures_price:
          type: boolean
          description: >-
            Gets the return futures price flag. If set to true the NPV measure
            returns the futures price for all models that inherit from
            IFutureModel

            (instead of NPV).
        return_forward_price:
          type: boolean
          description: >-
            Gets the return forward price flag. If set to true the NPV measure
            returns the forward price for all forward contracts
        return_percent_price:
          type: boolean
          description: >-
            Gets the return percent price flag. If set to true the NPV measure
            returns 100 * Price / Notional.
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        trs_return_spot_price:
          type: boolean
          description: >-
            If set to true then for total return swaps (EqStock with IsTrs=true)
            we return the underlying spot
        return_option_premium:
          type: boolean
          description: >-
            Gets the return option premium flag. If set to true the NPV measure
            returns the option premium.
        return_futures_value:
          type: boolean
          description: >-
            Gets the return futures value flag. If set to true the NPV measure
            returns the futures value for all models that inherit from
            IFutureModel

            (instead of NPV which is zero).

            FuturesValue is distinct from FuturesPrice for bond futures, IR
            futures and bond options.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Npv, Derivitec.Web.Core
      additionalProperties: false
      description: Class Npv.
    PricingDetail:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        pricing_detail_type:
          enum:
            - underlying_price
            - reference_vol
            - futures_price
            - future_spread
            - bond_clean_price
            - effective_strike
            - yield_to_maturity
            - yield_to_put
            - reference_credit_spread
            - reference_borrow_rate
            - reference_dividend_yield
            - bond_floor
            - bond_parity
            - ascot_cb_price
            - contract_fx_spot
            - contract_fx_price
            - underlying_spot
            - contract_inv_fx_spot
            - contract_fx_spot_major
            - contract_inv_fx_spot_major
          type: string
          description: Get the pricing details type
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.PricingDetail, Derivitec.Web.Core
      additionalProperties: false
      description: Class PricingDetail.
    RealisedVolMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        lookback_window:
          type: integer
          description: The lookback window length.
          format: int32
          readOnly: true
        use_percentage_points:
          type: boolean
          description: >-
            If set true realised vols are expressed in percentage points,
            otherwise they are expressed in reporting ccy units by scaling with
            spot.
          readOnly: true
        decay_period:
          type: integer
          description: The exponential decay period used to determine weights.
          format: int32
          readOnly: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.RealisedVolMeasure,
              Derivitec.Web.Core
      additionalProperties: false
      description: Class RealisedVolMeasure.
    ReferenceVol:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Class ReferenceVol.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.ReferenceVol, Derivitec.Web.Core
    Rho:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        use_contract_currency:
          type: boolean
          description: >-
            If true the risk is reported in the contract currency; otherwise in
            the reporting currency
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Rho, Derivitec.Web.Core
      additionalProperties: false
      description: The rho.
    RiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.RiskMeasure, Derivitec.Web.Core
      additionalProperties: false
      description: Base definition shared by polymorphic risk-measure request models.
    ScenarioImpact:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        calculate_price_changes:
          type: boolean
          description: >-
            Whether the measure returns price changes instead of scenario
            prices.
        scale_factor:
          type: number
          description: Scale factor supplied with the scenario-impact measure.
          format: double
        scenario:
          $ref: '#/components/schemas/RiskScenario'
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.ScenarioImpact, Derivitec.Web.Core
      additionalProperties: false
      description: >-
        Defines a measure that returns scenario prices or scenario price
        changes.
    ScenarioRiskImpact:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        calculate_risk_changes:
          type: boolean
          description: >-
            Set to true to calculate risk *changes*. Otherwise the measure
            returns risk post scenario.
        risk_measure:
          $ref: '#/components/schemas/IRiskMeasure'
        scale_factor:
          type: number
          description: Gets or sets the scale factor.
          format: double
        scenario:
          $ref: '#/components/schemas/RiskScenario'
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.ScenarioRiskImpact,
              Derivitec.Web.Core
      additionalProperties: false
      description: The scenario risk impact dto.
    StoredScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        id:
          type: string
          description: Identifier of the stored scenario.
          nullable: true
        organisation_id:
          type: string
          description: Identifier of the organisation that owns the stored scenario.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.StoredScenario, Derivitec.Web.Core
      additionalProperties: false
      description: References a stored scenario that can be used as a risk measure.
    Theta:
      required:
        - $type
      type: object
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        roll_days:
          type: integer
          description: Gets the roll days.
          format: int32
        rebase_cash_flows:
          type: boolean
          description: Gets the rebase cash flows flag.
        ignore_credit_spread_term_structure:
          type: boolean
          description: Gets the ignore credit spread term structure.
        use_contract_currency:
          type: boolean
        spot_theta_model:
          enum:
            - fixed
            - forward_curve
          type: string
          description: >-
            Class ThetaModels.

            Provides user friendly theta model enums, so API users need not use
            strikeVol and asset enums.
        volatility_theta_model:
          enum:
            - vol_fixed_by_tenor
            - vol_fixed_by_date
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.Theta, Derivitec.Web.Core
      additionalProperties: false
      description: Class Theta.
    VegaNotional:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Class VegaNotional.
      properties:
        risk_measure_id_stored:
          type: string
          description: >-
            Optional stored measure identifier used to preserve an explicit
            identifier for this measure definition.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.VegaNotional, Derivitec.Web.Core
    ICmdtyRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Risk-measure role applicable to commodity exposures.
      properties:
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.Interfaces.ICmdtyRiskMeasure,
              Derivitec.Web.Core
    IEqRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Risk-measure role applicable to equity exposures.
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IEqRiskMeasure, Derivitec.Web.Core
    IFxRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Risk-measure role applicable to foreign-exchange exposures.
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IFxRiskMeasure, Derivitec.Web.Core
    IIrRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Risk-measure role applicable to interest-rate exposures.
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IIrRiskMeasure, Derivitec.Web.Core
    IRiskMeasureMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      description: >-
        Common role for a named risk measure exposed through calculation and
        report contracts.
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IRiskMeasure, Derivitec.Web.Core
    IVolShockFunc:
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.RiskEngine.VolShockFuncBetaAdj, Derivitec.Web.Core: '#/components/schemas/VolShockFuncBetaAdj'
          Derivitec.Web.Core.RiskEngine.VolShockFuncShocksByStrike, Derivitec.Web.Core: '#/components/schemas/VolShockFuncShocksByStrike'
          Derivitec.Web.Core.Interfaces.IVolShockFunc, Derivitec.Web.Core: '#/components/schemas/IVolShockFuncMintlifyShape'
      oneOf:
        - $ref: '#/components/schemas/VolShockFuncBetaAdj'
        - $ref: '#/components/schemas/VolShockFuncShocksByStrike'
        - $ref: '#/components/schemas/IVolShockFuncMintlifyShape'
    RiskScenario:
      description: Names and describes a scenario supplied to a risk calculation.
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.RiskEngine.RiskScenario, Derivitec.Web.Core: '#/components/schemas/RiskScenarioMintlifyShape'
          Derivitec.Web.Core.RiskEngine.BorrowCurveScenario, Derivitec.Web.Core: '#/components/schemas/BorrowCurveScenario'
          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.DerivedScenario, Derivitec.Web.Core: '#/components/schemas/DerivedScenario'
          Derivitec.Web.Core.RiskEngine.DividendIndexVolScenario, Derivitec.Web.Core: '#/components/schemas/DividendIndexVolScenario'
          Derivitec.Web.Core.RiskEngine.DividendScenario, Derivitec.Web.Core: '#/components/schemas/DividendScenario'
          Derivitec.Web.Core.RiskEngine.EqSpotScenario, Derivitec.Web.Core: '#/components/schemas/EqSpotScenario'
          Derivitec.Web.Core.RiskEngine.EquityVolIndexScenario, Derivitec.Web.Core: '#/components/schemas/EquityVolIndexScenario'
          Derivitec.Web.Core.RiskEngine.EqVolIndexVolSurfaceScenario, Derivitec.Web.Core: '#/components/schemas/EqVolIndexVolSurfaceScenario'
          Derivitec.Web.Core.RiskEngine.EqVolScenario, Derivitec.Web.Core: '#/components/schemas/EqVolScenario'
          Derivitec.Web.Core.RiskEngine.EqVolSurfaceScenario, Derivitec.Web.Core: '#/components/schemas/EqVolSurfaceScenario'
          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.StoredScenario, Derivitec.Web.Core: '#/components/schemas/StoredScenario'
          Derivitec.Web.Core.RiskEngine.ThetaScenario, Derivitec.Web.Core: '#/components/schemas/ThetaScenario'
      oneOf:
        - $ref: '#/components/schemas/RiskScenarioMintlifyShape'
        - $ref: '#/components/schemas/BorrowCurveScenario'
        - $ref: '#/components/schemas/CmdtySpotScenario'
        - $ref: '#/components/schemas/CmdtyVolScenario'
        - $ref: '#/components/schemas/CompositeScenario'
        - $ref: '#/components/schemas/CreditScenario'
        - $ref: '#/components/schemas/DerivedScenario'
        - $ref: '#/components/schemas/DividendIndexVolScenario'
        - $ref: '#/components/schemas/DividendScenario'
        - $ref: '#/components/schemas/EqSpotScenario'
        - $ref: '#/components/schemas/EquityVolIndexScenario'
        - $ref: '#/components/schemas/EqVolIndexVolSurfaceScenario'
        - $ref: '#/components/schemas/EqVolScenario'
        - $ref: '#/components/schemas/EqVolSurfaceScenario'
        - $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/StoredScenario'
        - $ref: '#/components/schemas/ThetaScenario'
    VolShockFuncBetaAdj:
      required:
        - $type
      type: object
      properties:
        vol_beta_func:
          $ref: '#/components/schemas/DoubleDoubleIFunc1Param'
        maturity_beta_func:
          $ref: '#/components/schemas/DoubleDoubleIFunc1Param'
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.VolShockFuncBetaAdj,
              Derivitec.Web.Core
      additionalProperties: false
      description: The shock is of the form ShockByStrikeFunc(strike) * beta(maturity)
    VolShockFuncShocksByStrike:
      required:
        - $type
      type: object
      properties:
        shock_by_strike_func:
          $ref: '#/components/schemas/DoubleDoubleIFunc1Param'
        maturity_beta_func:
          $ref: '#/components/schemas/DoubleDoubleIFunc1Param'
        strike_func_expects_delta:
          type: boolean
          description: >-
            True if ShockByStrikeFunc expects delta strike; false if it expects
            log strike
        use_proportional_shocks:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.VolShockFuncShocksByStrike,
              Derivitec.Web.Core
      additionalProperties: false
      description: The shock is of the form ShockByStrikeFunc(strike) * beta(maturity)
    IVolShockFuncMintlifyShape:
      required:
        - $type
      type: object
      additionalProperties: false
      properties:
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Interfaces.IVolShockFunc, Derivitec.Web.Core
    RiskScenarioMintlifyShape:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.RiskScenario, Derivitec.Web.Core
      additionalProperties: false
      description: Names and describes a scenario supplied to a risk calculation.
    BorrowCurveScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        global_shock:
          $ref: '#/components/schemas/DiscountCurveBump'
        shocks_by_equity_asset:
          type: array
          items:
            $ref: >-
              #/components/schemas/InstrumentIdentifierDiscountCurveBumpKeyValuePair
          description: The dividend shocks by equity asset.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.BorrowCurveScenario,
              Derivitec.Web.Core
      additionalProperties: false
      description: Class BorrowCurveScenario.
    CmdtySpotScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        shock_size:
          type: number
          description: The shock size
          format: double
        sticky_smile_ratio:
          type: number
          description: Gets the sticky smile ratio
          format: double
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets the vol surface spot model.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CmdtySpotScenario,
              Derivitec.Web.Core
      additionalProperties: false
    CmdtyVolScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        shock_size:
          type: number
          description: The shock size
          format: double
        use_proportional_vol_bump:
          type: boolean
          description: >-
            True to use proportional vol bumps (i.e. a bump of 0.1 means 30% ->
            33%; otherwise 30% -> 31%).
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CmdtyVolScenario, Derivitec.Web.Core
      additionalProperties: false
    CompositeScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        scenarios:
          type: array
          items:
            $ref: '#/components/schemas/RiskScenario'
          description: Gets or sets the scenarios.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.CompositeScenario,
              Derivitec.Web.Core
      additionalProperties: false
      description: The composite scenario.
    CreditScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        reference_issuer_identifier:
          $ref: '#/components/schemas/IssuerIdentifier'
        reference_currency:
          type: string
          description: >-
            The reference bond issuer currency

            If populated all credit spreads are measured against this yield
            curve
          nullable: true
        reference_debt_type:
          type: string
          description: >-
            The reference issuer debt type

            If populated all credit spreads are measured against this yield
            curve
          nullable: true
        tenors:
          type: array
          items:
            type: string
          description: >-
            Gets the list of tenors. If none are specified we use the nodes of
            the bond yield curve
          nullable: true
        credit_spread_floor:
          type: number
          description: Gets or sets the credit spread floor
          format: double
        global_shock:
          type: number
          description: >-
            Gets or sets the global shock size (absolute or proportional
            depending on UseProportionalShocks flag)

            Ignored if a credit shock function is specified
          format: double
        shocks_by_issuer_identifier:
          type: array
          items:
            $ref: '#/components/schemas/IssuerIdentifierDoubleKeyValuePair'
          description: >-
            The shocks by issuer id (absolute or proportional depending on
            UseProportionalShocks flag).

            Ignored if a credit shock function is specified
          nullable: true
        use_proportional_shocks:
          type: boolean
          description: True to use proportional shocks; otherwise absolute
        use_forward_rate_bumps:
          type: boolean
          description: True to use forward rate bumps; otherwise we use zero rate bumps
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.CreditScenario, Derivitec.Web.Core
      additionalProperties: false
    DerivedScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        base_scenario:
          $ref: '#/components/schemas/RiskScenario'
        scenario_model_parameters:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ScenarioModelParameters'
          description: Gets or sets the scenario model parameters.
          nullable: true
          readOnly: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.DerivedScenario, Derivitec.Web.Core
      additionalProperties: false
      description: The eq spot scenario
    DividendIndexVolScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        vol_shock_func:
          $ref: '#/components/schemas/IVolShockFunc'
        bumped_vol_floor:
          type: number
          description: ATMF vol will never be bumped lower than this
          format: double
        shock_size:
          type: number
          description: The shock size
          format: double
        shocks_by_dividend_index:
          type: array
          items:
            $ref: '#/components/schemas/InstrumentIdentifierDoubleKeyValuePair'
          description: >-
            The shocks by dividend index (for assets present in the dictionary
            we do NOT apply the globalShock).
          nullable: true
        use_parallel_shift:
          type: boolean
          description: True to use parallel shifts
        use_proportional_vol_bump:
          type: boolean
          description: >-
            True to use proportional vol bumps (i.e. a bump of 0.1 means 30% ->
            33%; otherwise 30% -> 31%).
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.DividendIndexVolScenario,
              Derivitec.Web.Core
      additionalProperties: false
    DividendScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        global_shock:
          $ref: '#/components/schemas/DividendBump'
        shocks_by_equity_asset:
          type: array
          items:
            $ref: '#/components/schemas/InstrumentIdentifierDividendBumpKeyValuePair'
          description: The dividend shocks by equity asset.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.DividendScenario, Derivitec.Web.Core
      additionalProperties: false
      description: Class DividendScenario.
    EqSpotScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        shocks_by_equity_asset:
          type: array
          items:
            $ref: '#/components/schemas/InstrumentIdentifierDoubleKeyValuePair'
          description: >-
            The shocks by equity asset (for equity assets present in the
            dictionary we do NOT apply the shocks by country).
          nullable: true
        shocks_by_country:
          type: array
          items:
            $ref: '#/components/schemas/StringDoubleKeyValuePair'
          description: >-
            The shocks by country (for equity assets present in the dictionary
            we do NOT apply the shocks by region).
          nullable: true
        shocks_by_region:
          type: array
          items:
            $ref: '#/components/schemas/StringDoubleKeyValuePair'
          description: >-
            The shocks by region (for equity assets present in the dictionary we
            do NOT apply the global shocks).
          nullable: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: Gets or sets the equity vol surface spot model.
        sticky_smile_ratio:
          type: number
          description: Gets or sets the shock size.
          format: double
        bump_cash_dividends:
          type: boolean
          description: >-
            Gets a value indicating whether the equity spot shock should also
            bump cash dividends by the same amount.
        equity_vol_index_vol_surface_spot_model_id:
          type: string
          description: >-
            Selects the user-defined model ID supplied when uploading
            volatility-index spot-model betas.

            Definitions are loaded for the scenario market-data date and
            portfolio volatility indices,

            using the selected market-data provider priority, and applied to
            their volatility surfaces

            when the underlying equity is shocked. The string must match the
            uploaded ModelId exactly.

            Null, empty or whitespace disables database loading; inline
            definitions still apply.
          nullable: true
          example: ExampleVixBetas
        vol_surface_spot_model_definitions:
          type: array
          items:
            $ref: '#/components/schemas/VolSurfaceSpotModelDefinition'
          description: >-
            Optional inline beta definitions for volatility-index assets. Each
            Asset identifier is resolved

            to an internal asset ID; duplicate resolved assets are rejected. An
            inline definition replaces

            the entire stored definition for that asset, or adds an asset absent
            from the stored model.

            Inline ModelId is a label and need not match
            EquityVolIndexVolSurfaceSpotModelId. ReferenceDate

            and beta inputs follow the definition's validation rules. Provider
            and provenance metadata are

            ignored; nothing is uploaded or saved. Null or an empty list
            supplies no overrides.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqSpotScenario, Derivitec.Web.Core
      additionalProperties: false
      description: The eq spot scenario
    EquityVolIndexScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        shocks_by_vol_index:
          type: array
          items:
            $ref: >-
              #/components/schemas/InstrumentIdentifierEquityVolIndexBumpKeyValuePair
          description: The shocks by vol index
          nullable: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
            - sticky_smile_ratio
          type: string
          description: The vol surface spot model
        vol_indices_to_remove:
          type: object
          additionalProperties:
            type: string
            nullable: true
          description: The vol indices to remove
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.EquityVolIndexScenario,
              Derivitec.Web.Core
      additionalProperties: false
    EqVolIndexVolSurfaceScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        global_shock:
          $ref: '#/components/schemas/EqVolIndexVolSurfaceBump'
        shocks_by_vol_index:
          type: array
          items:
            $ref: >-
              #/components/schemas/InstrumentIdentifierEqVolIndexVolSurfaceBumpKeyValuePair
          description: The shocks by vol index
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.EqVolIndexVolSurfaceScenario,
              Derivitec.Web.Core
      additionalProperties: false
    EqVolScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        bumped_vol_floor:
          type: number
          description: ATMF vol will never be bumped lower than this
          format: double
        shock_size:
          type: number
          description: The shock size
          format: double
        use_parallel_shift:
          type: boolean
          description: True to use parallel shifts
        use_proportional_vol_bump:
          type: boolean
          description: >-
            True to use proportional vol bumps (i.e. a bump of 0.1 means 30% ->
            33%; otherwise 30% -> 31%).
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.EqVolScenario, Derivitec.Web.Core
      additionalProperties: false
    EqVolSurfaceScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        global_shock:
          $ref: '#/components/schemas/EqVolSurfaceBump'
        shocks_by_asset:
          type: array
          items:
            $ref: >-
              #/components/schemas/InstrumentIdentifierEqVolSurfaceBumpKeyValuePair
          description: True to use parallel shifts
          nullable: true
        shock_equity_vol_indices:
          type: boolean
          description: True to shock equity indices.
        equity_vol_indices_keep_grid_std_devs_fixed:
          type: boolean
          description: If set true, the StdDevGrid of equity vol indices will be fixed.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.EqVolSurfaceScenario,
              Derivitec.Web.Core
      additionalProperties: false
    FxSpotScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        shock_size:
          type: number
          description: Gets or sets the shock size.
          format: double
        currency:
          type: string
          description: Gets or sets the currency.
          nullable: true
        vol_surface_spot_model:
          enum:
            - sticky_strike
            - sticky_delta
          type: string
          description: Gets or sets the equity vol surface spot model.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.FxSpotScenario, Derivitec.Web.Core
      additionalProperties: false
      description: The fx spot scenario
    FxVolSurfaceScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        currency_to_bump:
          type: string
          description: Currency to bump
          nullable: true
        vol_shock:
          type: number
          description: vol shock
          format: double
        use_proportional_vol_bumps:
          type: boolean
          description: Use proportional vol bumps
        counter_currency:
          type: string
          description: >-
            Suppose ShocksByCurrency contains a single currency:  { [GBP] = 0.1
            }


            If USD is set as CounterCurrency:
                - GBPUSD is shocked by 10%
                - XXXUSD is unchanged, with XXX any currency not GBP
                - The shock on GBPXXX is determined from GBPUSD and XXXUSD via implied correlation
                        
            If no counter currency is specified the shock is uniform:
                - GBPXXX shocked by 10% for all XXX != GBP
                        
            If ShocksByCurrency contains multiple shocks the counter currency is
            mandatory
          nullable: true
        vol_shock_funcs_by_fx_pair:
          type: array
          items:
            $ref: '#/components/schemas/StringIVolShockFuncKeyValuePair'
          description: The shock applied at a given point is f(strike, maturityDays)
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.FxVolSurfaceScenario,
              Derivitec.Web.Core
      additionalProperties: false
    HistoricalScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        end_date:
          type: string
          description: Gets the end date.
          format: date-time
        start_date:
          type: string
          description: Gets the start date.
          format: date-time
        bump_configuration:
          $ref: '#/components/schemas/BumpConfiguration'
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.HistoricalScenario,
              Derivitec.Web.Core
      additionalProperties: false
    IRParallelShockScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        global_shock:
          type: number
          description: Gets or sets the shock size.
          format: double
        shocks_by_currency:
          type: object
          additionalProperties:
            type: number
            format: double
          description: >-
            Gets or sets the shocks by currency (for currencies present in the
            dictionary we do NOT apply the globalShock).
          nullable: true
        use_proportional_shocks:
          type: boolean
          description: If true all shocks are propotional (-1% shock means 5% -> 4.5%).
          readOnly: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.IRParallelShockScenario,
              Derivitec.Web.Core
      additionalProperties: false
      description: The IR parallel shock scenario
    IrRateAssetScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        global_shock:
          type: number
          description: Gets or sets the shock size.
          format: double
        shocks_by_rate_asset_id:
          type: array
          items:
            $ref: '#/components/schemas/StringDiscountCurveBumpKeyValuePair'
          description: >-
            Gets or sets the shocks by currency (for currencies present in the
            dictionary we do NOT apply the globalShock).
          nullable: true
        use_proportional_shocks:
          type: boolean
          description: If true all shocks are propotional (-1% shock means 5% -> 4.5%).
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.IrRateAssetScenario,
              Derivitec.Web.Core
      additionalProperties: false
      description: The IR rate asset scenario
    IRShockScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        global_shock:
          $ref: '#/components/schemas/DiscountCurveBump'
        shocks_by_currency:
          type: array
          items:
            $ref: '#/components/schemas/StringDiscountCurveBumpKeyValuePair'
          description: >-
            The shocks by currency (for currencies present in the dictionary we
            do NOT apply the globalShock).
          nullable: true
        bump_discount_curves:
          type: boolean
          description: Gets the bump discount curves flag.
        bump_bond_yield_curves:
          type: boolean
          description: Gets the bump bond yield curves flag.
        bump_equity_assets:
          type: boolean
          description: Gets the bump equity assets flag.
        bump_equity_vol_indices:
          type: boolean
          description: Gets the bump equity vol indices flag.
        bump_rate_assets:
          type: boolean
          description: Gets the bump rate assets flag.
        bump_fx_crosses:
          type: boolean
          description: Gets the bump fx crosses flag.
        bump_commodities:
          type: boolean
          description: Gets the bump commodities flag.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.IRShockScenario, Derivitec.Web.Core
      additionalProperties: false
      description: The IR hock scenario
    JumpToDefaultScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        recovery_rates_by_issuer_identifier:
          type: array
          items:
            $ref: '#/components/schemas/IssuerIdentifierDoubleKeyValuePair'
          description: >-
            The recovery rates by issuer id (only used if no recovery rate
            function is specified)
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.JumpToDefaultScenario,
              Derivitec.Web.Core
      additionalProperties: false
    ThetaScenario:
      required:
        - $type
      type: object
      properties:
        scenario_description:
          type: string
          description: Human-readable explanation of the scenario.
          nullable: true
        scenario_name:
          type: string
          description: Human-readable name of the scenario.
          nullable: true
        roll_days:
          type: integer
          description: Gets or sets the roll days.
          format: int32
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.RiskEngine.ThetaScenario, Derivitec.Web.Core
      additionalProperties: false
      description: Class ThetaScenario.
    DoubleDoubleIFunc1Param:
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.Func.PowerFuncDouble, Derivitec.Web.Core: '#/components/schemas/PowerFuncDouble'
          Derivitec.Web.Core.Func.SplineInterpolatedFuncDouble, Derivitec.Web.Core: '#/components/schemas/SplineInterpolatedFuncDouble'
      oneOf:
        - $ref: '#/components/schemas/PowerFuncDouble'
        - $ref: '#/components/schemas/SplineInterpolatedFuncDouble'
    DiscountCurveBump:
      required:
        - $type
      type: object
      properties:
        rate_bumps:
          type: array
          items:
            type: number
            format: double
          description: Gets or sets the rate bumps.
          nullable: true
        tenors:
          type: array
          items:
            type: string
          description: Gets or sets the tenors.
          nullable: true
        maturities:
          type: array
          items:
            type: integer
            format: int32
          description: Gets or sets the maturities.
          nullable: true
        use_proportional_rate_bumps:
          type: boolean
          description: Gets or sets a value indicating whether use proportional bumps.
        use_forward_rate_bumps:
          type: boolean
          description: Gets or sets a value indicating whether use forward rate bump
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.DiscountCurveBump,
              Derivitec.Web.Core
      additionalProperties: false
      description: The discount curve bump.
    InstrumentIdentifierDiscountCurveBumpKeyValuePair:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/InstrumentIdentifier'
        value:
          $ref: '#/components/schemas/DiscountCurveBump'
      additionalProperties: false
    IssuerIdentifier:
      required:
        - $type
      type: object
      properties:
        code:
          type: string
          description: Issuer code interpreted in the selected issuer namespace.
          nullable: true
        identifier_type:
          enum:
            - DerivitecBondIssuerId
            - ReutersOrgId
            - ShortName
            - Lei
            - RedCode
            - MarkitTicker
            - ReutersIssuerId
            - CBondsIssuerId
            - PermId
            - BloombergCompanyId
            - NotSet
          type: string
          description: Namespace that determines how the issuer code is interpreted.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.IssuerIdentifier, Derivitec.Web.Core
      additionalProperties: false
      description: Issuer code qualified by an issuer-identifier namespace.
    IssuerIdentifierDoubleKeyValuePair:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/IssuerIdentifier'
        value:
          type: number
          format: double
      additionalProperties: false
    ScenarioModelParameters:
      required:
        - $type
      type: object
      properties:
        apply_on_selected_assets:
          type: boolean
          description: >-
            Gets or sets a value indicating whether to apply the scenario only
            on selected asset.
        selected_asset_ids:
          uniqueItems: true
          type: array
          items:
            type: string
          description: Gets or sets the selected asset ids.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.ScenarioModelParameters,
              Derivitec.Web.Core
      additionalProperties: false
      description: The scenario model parameters.
    InstrumentIdentifierDoubleKeyValuePair:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/InstrumentIdentifier'
        value:
          type: number
          format: double
      additionalProperties: false
    DividendBump:
      required:
        - $type
      type: object
      properties:
        shock_sizes:
          type: array
          items:
            type: number
            format: double
          description: Gets or sets the shock sizes
          nullable: true
        tenors:
          type: array
          items:
            type: string
          description: Gets or sets the tenors.
          nullable: true
        maturities:
          type: array
          items:
            type: integer
            format: int32
          description: Gets or sets the maturities.
          nullable: true
        bump_cash_dividends:
          type: boolean
          description: Gets or sets a value indicating whether bump cash dividends
        bump_dividend_yields:
          type: boolean
          description: Gets or sets a value indicating whether bump dividend yields
        bump_confirmed_dividends:
          type: boolean
          description: Gets or sets a value indicating whether bump confirmed dividends
        all_in_rate_bumps:
          type: array
          items:
            type: number
            format: double
          description: Gets or sets the shock sizes
          nullable: true
        asset_identifier:
          $ref: '#/components/schemas/InstrumentIdentifier'
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.DividendBump, Derivitec.Web.Core
      additionalProperties: false
      description: The discount curve bump.
    InstrumentIdentifierDividendBumpKeyValuePair:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/InstrumentIdentifier'
        value:
          $ref: '#/components/schemas/DividendBump'
      additionalProperties: false
    StringDoubleKeyValuePair:
      type: object
      properties:
        key:
          type: string
          nullable: true
        value:
          type: number
          format: double
      additionalProperties: false
    VolSurfaceSpotModelDefinition:
      required:
        - $type
      type: object
      properties:
        provider_id:
          type: string
          description: >-
            Market-data provider code recorded as the source of the
            contribution. Defaults to Derivitec.
          nullable: true
        derivitec_created:
          type: string
          description: Timestamp at which the market-data record was created.
        derivitec_modified:
          type: string
          description: Optional timestamp of the record's latest modification.
          nullable: true
        uploaded_date_time:
          type: string
          description: >-
            Optional timestamp at which the contribution was uploaded.
            UploadRateAssets ignores the supplied value on each rate asset and
            stores the current UTC time.
          nullable: true
        derivitec_modified_by:
          type: string
          description: >-
            Principal recorded as the latest modifier. UploadRateAssets ignores
            the supplied value on each rate asset and stores the authenticated
            user identifier.
          nullable: true
        uploaded_by:
          type: string
          description: >-
            Principal recorded as the uploader. UploadRateAssets ignores the
            supplied value on each rate asset and stores the authenticated user
            identifier.
          nullable: true
        rolled:
          type: boolean
          description: Whether the contribution has been rolled.
          example: false
        asset:
          $ref: '#/components/schemas/InstrumentIdentifier'
        reference_date:
          type: string
          description: >-
            Required date-only reference date at midnight, without timezone
            conversion. Tenor maturities are calculated from this date.
          format: date-time
        model_id:
          type: string
          description: >-
            Required nonblank model identifier, shared with the equity
            scenario's spot-model selection. Asset, reference date, model ID and
            provider identify the record replaced by this upload.
          nullable: true
        tenors:
          type: array
          items:
            type: string
          description: >-
            Required nonempty tenor strings such as 1M, 3M and 1Y. Maturities
            must be positive and strictly increasing from ReferenceDate; entries
            align with both beta lists.
          nullable: true
        betas_up:
          type: array
          items:
            type: number
            format: double
          description: >-
            Required finite coefficients for positive relative equity spot
            shocks, one per tenor. The absolute decimal ATMF volatility change
            is beta times the relative spot shock; beta -1 and shock 0.01 give a
            volatility change of -0.01. Negative and zero betas are allowed.
          nullable: true
        betas_dn:
          type: array
          items:
            type: number
            format: double
          description: >-
            Required finite coefficients for negative relative equity spot
            shocks, one per tenor. The absolute decimal ATMF volatility change
            is beta times the signed relative spot shock. Negative and zero
            betas are allowed.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.VolSurfaceSpotModelDefinition,
              Derivitec.Web.Core
      additionalProperties: false
      description: Beta-adjusted ATMF spot model inputs for an equity volatility index.
    InstrumentIdentifierEquityVolIndexBumpKeyValuePair:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/InstrumentIdentifier'
        value:
          $ref: '#/components/schemas/EquityVolIndexBump'
      additionalProperties: false
    EqVolIndexVolSurfaceBump:
      required:
        - $type
      type: object
      properties:
        vol_bump:
          type: number
          format: double
        use_proportional_vol_bumps:
          type: boolean
        use_parallel_shift:
          type: boolean
        bumped_vol_floor:
          type: number
          format: double
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.EqVolIndexVolSurfaceBump,
              Derivitec.Web.Core
      additionalProperties: false
      description: The equity vol index vol surface bump.
    InstrumentIdentifierEqVolIndexVolSurfaceBumpKeyValuePair:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/InstrumentIdentifier'
        value:
          $ref: '#/components/schemas/EqVolIndexVolSurfaceBump'
      additionalProperties: false
    EqVolSurfaceBump:
      required:
        - $type
      type: object
      properties:
        maturities:
          type: array
          items:
            type: integer
            format: int32
          nullable: true
        tenors:
          type: array
          items:
            type: string
          nullable: true
        vol_bumps:
          type: array
          items:
            type: number
            format: double
          nullable: true
        vol_bump:
          type: number
          format: double
        use_proportional_vol_bumps:
          type: boolean
        bumped_vol_floor:
          type: number
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.EqVolSurfaceBump, Derivitec.Web.Core
      additionalProperties: false
      description: The equity vol surface bump.
    InstrumentIdentifierEqVolSurfaceBumpKeyValuePair:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/InstrumentIdentifier'
        value:
          $ref: '#/components/schemas/EqVolSurfaceBump'
      additionalProperties: false
    StringIVolShockFuncKeyValuePair:
      type: object
      properties:
        key:
          type: string
          nullable: true
        value:
          $ref: '#/components/schemas/IVolShockFunc'
      additionalProperties: false
    BumpConfiguration:
      required:
        - $type
      type: object
      properties:
        apply_bond_vol_surface_bump:
          type: boolean
          description: Get or sets the apply bond vol surface bump flag
        apply_cmdty_vol_surface_bump:
          type: boolean
          description: Get or sets the apply cmdty vol surface bump flag
        apply_equity_vol_surface_bump:
          type: boolean
          description: Get or sets the apply equity vol surface bump flag
        apply_survival_curve_bump:
          type: boolean
          description: Get or sets the apply survival curve bump flag
        apply_borrow_curve_bump:
          type: boolean
          description: Get or sets the apply borrow curve bump flag
        apply_discount_curve_bump:
          type: boolean
        apply_bond_yield_curve_bump:
          type: boolean
        apply_theta_scenario:
          type: boolean
          description: Get or sets the apply theta scenario flag
        apply_swaption_vol_cube_bump:
          type: boolean
          description: Get or sets the apply swaption vol cube bump flag
        apply_ir_futures_vol_cube_bump:
          type: boolean
          description: Get or sets the apply ir futures vol cube bump flag
        apply_fx_cross_scenario:
          type: boolean
        bond_vol_asymptote:
          type: number
          description: Gets or sets the asymptote.
          format: double
        bond_vol_bump_atmf_only:
          type: boolean
          description: Gets or sets a value indicating whether bump atmf only.
        bond_vol_spread:
          type: number
          description: Gets or sets the spread.
          format: double
        cmdty_vol_asymptote:
          type: number
          description: Gets or sets the asymptote.
          format: double
        cmdty_vol_bump_atmf_only:
          type: boolean
          description: Gets or sets a value indicating whether bump atmf only.
        cmdty_vol_spread:
          type: number
          description: Gets or sets the spread.
          format: double
        eq_vol_asymptote:
          type: number
          description: Gets or sets the asymptote.
          format: double
        eq_vol_bump_atmf_only:
          type: boolean
          description: Gets or sets a value indicating whether bump atmf only.
        eq_vol_spread:
          type: number
          description: Gets or sets the spread.
          format: double
        fx_vol_asymptote:
          type: number
          description: Gets or sets the asymptote.
          format: double
        fx_vol_bump_atmf_only:
          type: boolean
          description: Gets or sets a value indicating whether bump atmf only.
        fx_vol_spread:
          type: number
          description: Gets or sets the spread.
          format: double
        use_smoothened_bond_yield_curves:
          type: boolean
          description: Smoothen bond yield curves prior to computing bump
        use_provided_data_first:
          type: boolean
          description: >-
            Gets or sets a flag indicating whether provided data is preferred
            over Derivitec data when loading historical market data containers
        use_proportional_vol_bumps:
          type: boolean
          description: True to use proportional vol bumps
        eq_vol_index_vol_asymptote:
          type: number
          description: Gets or sets the asymptote.
          format: double
        eq_vol_index_vol_bump_atmf_only:
          type: boolean
          description: Gets or sets a value indicating whether bump atmf only.
        eq_vol_index_vol_spread:
          type: number
          description: Gets or sets the spread.
          format: double
        eq_vol_index_bump_equity:
          type: boolean
          description: True to bump nested equity in EquityVolIndex.
        eq_vol_index_bump_equity_vol_surface:
          type: boolean
          description: True to bump nested equity vol surface in EquityVolIndex.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.RiskEngine.BumpConfiguration,
              Derivitec.Web.Core
      additionalProperties: false
    StringDiscountCurveBumpKeyValuePair:
      type: object
      properties:
        key:
          type: string
          nullable: true
        value:
          $ref: '#/components/schemas/DiscountCurveBump'
      additionalProperties: false
    PowerFuncDouble:
      required:
        - $type
      type: object
      properties:
        min:
          type: number
          format: double
          nullable: true
        max:
          type: number
          format: double
          nullable: true
        slope:
          type: number
          format: double
        intercept:
          type: number
          format: double
        exponent:
          type: number
          format: double
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Func.PowerFuncDouble, Derivitec.Web.Core
      additionalProperties: false
      description: A function of the form Min(C, Max(F, a + b * x))^c
    SplineInterpolatedFuncDouble:
      required:
        - $type
      type: object
      additionalProperties: false
      properties:
        x_values:
          type: array
          items:
            type: number
            format: double
          description: Gets the x-values
          nullable: true
        y_values:
          type: array
          items:
            type: number
            format: double
          description: Gets the y-values
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.Func.SplineInterpolatedFuncDouble,
              Derivitec.Web.Core
    InstrumentIdentifier:
      description: >-
        Instrument code qualified by an identifier namespace and optional market
        code.
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.MarketData.InstrumentIdentifier, Derivitec.Web.Core: '#/components/schemas/InstrumentIdentifierMintlifyShape'
          Derivitec.Web.Core.MarketData.InstrumentInfo, Derivitec.Web.Core: '#/components/schemas/InstrumentInfo'
      oneOf:
        - $ref: '#/components/schemas/InstrumentIdentifierMintlifyShape'
        - $ref: '#/components/schemas/InstrumentInfo'
    EquityVolIndexBump:
      required:
        - $type
      type: object
      properties:
        equity_bump:
          $ref: '#/components/schemas/EquityBump'
        equity_vol_surface_bump:
          $ref: '#/components/schemas/EqVolSurfaceBump'
        spread_curve_bump:
          $ref: '#/components/schemas/EquityVolIndexSpreadCurveBump'
        equity_vol_index_vol_surface_bump:
          $ref: '#/components/schemas/EqVolIndexVolSurfaceBump'
        spot_bump:
          type: number
          format: double
        use_proportional_spot_bump:
          type: boolean
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.EquityVolIndexBump,
              Derivitec.Web.Core
      additionalProperties: false
      description: The equity vol index bump.
    InstrumentIdentifierMintlifyShape:
      required:
        - $type
      type: object
      properties:
        code:
          type: string
          description: Instrument code interpreted in the selected identifier namespace.
          nullable: true
        identifier_type:
          enum:
            - Derivitec
            - Ric
            - Bloomberg
            - Isin
            - Figi
            - Sedol
            - RedCode
            - RedPairCode
            - BloombergYellow
            - XIgniteCode
            - CBondsId
            - EdiSecId
            - EdiSymbol
            - Cusip
            - NotSet
          type: string
          description: Namespace that determines how the instrument code is interpreted.
        market_identification_code:
          type: string
          description: >-
            Optional market identification code that further qualifies the
            instrument code.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.InstrumentIdentifier,
              Derivitec.Web.Core
      additionalProperties: false
      description: >-
        Instrument code qualified by an identifier namespace and optional market
        code.
    InstrumentInfo:
      required:
        - $type
      type: object
      properties:
        code:
          type: string
          description: Instrument code interpreted in the selected identifier namespace.
          nullable: true
        identifier_type:
          enum:
            - Derivitec
            - Ric
            - Bloomberg
            - Isin
            - Figi
            - Sedol
            - RedCode
            - RedPairCode
            - BloombergYellow
            - XIgniteCode
            - CBondsId
            - EdiSecId
            - EdiSymbol
            - Cusip
            - NotSet
          type: string
          description: Namespace that determines how the instrument code is interpreted.
        market_identification_code:
          type: string
          description: >-
            Optional market identification code that further qualifies the
            instrument code.
          nullable: true
        name:
          type: string
          description: Human-readable name of the identified instrument.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.InstrumentInfo, Derivitec.Web.Core
      additionalProperties: false
      description: Instrument identifier with a human-readable instrument name.
    EquityBump:
      required:
        - $type
      type: object
      properties:
        spot_bump:
          type: number
          format: double
        discount_curve_bump:
          $ref: '#/components/schemas/DiscountCurveBump'
        borrow_curve_bump:
          $ref: '#/components/schemas/DiscountCurveBump'
        dividend_bump:
          $ref: '#/components/schemas/DividendBump'
        asset_identifier:
          $ref: '#/components/schemas/InstrumentIdentifier'
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.EquityBump, Derivitec.Web.Core
      additionalProperties: false
      description: The equity bump.
    EquityVolIndexSpreadCurveBump:
      required:
        - $type
      type: object
      properties:
        maturities:
          type: array
          items:
            type: integer
            format: int32
          nullable: true
        spread_bumps:
          type: array
          items:
            type: number
            format: double
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.EquityVolIndexSpreadCurveBump,
              Derivitec.Web.Core
      additionalProperties: false
      description: The equity vol index spread curve bump.
  securitySchemes:
    oauth2:
      type: 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: {}
    apikey:
      type: apiKey
      description: API-Key requested via the site and provided as a header
      name: x-api-key
      in: header

````