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

# Store equity volatility-of-variance curves.

> Use this operation to publish volatility-of-variance term curves to a non-default provider that the caller
may edit. Every curve requires a supported index identifier and date-only reference date; maturity values
are positive day counts and must align one-for-one with positive volatility values expressed as decimals
(`0.20` means 20%). Validation and identifier resolution apply to the complete request, so no curves
are stored when any curve fails. An accepted curve
replaces the contribution for the same provider, identifier, and reference date before the response returns.
Stored curves record the current UTC upload time and the authenticated caller as uploader and modifier.



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json post /api/MarketData/UploadEqVolOfVarCurves
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/MarketData/UploadEqVolOfVarCurves:
    post:
      tags:
        - MarketData
      summary: Store equity volatility-of-variance curves.
      description: >-
        Use this operation to publish volatility-of-variance term curves to a
        non-default provider that the caller

        may edit. Every curve requires a supported index identifier and
        date-only reference date; maturity values

        are positive day counts and must align one-for-one with positive
        volatility values expressed as decimals

        (`0.20` means 20%). Validation and identifier resolution apply to the
        complete request, so no curves

        are stored when any curve fails. An accepted curve

        replaces the contribution for the same provider, identifier, and
        reference date before the response returns.

        Stored curves record the current UTC upload time and the authenticated
        caller as uploader and modifier.
      operationId: UploadEqVolOfVarCurves
      requestBody:
        description: >-
          The upload payload. Provide either `ProviderId` or
          `MarketDataEnvironmentName`, not both; omitting both selects the
          caller's organisation scope. `EqVolOfVarCurves` must be non-empty and
          each curve supplies an identifier, reference date, aligned maturities
          and decimal `Vols` values, and optional spot reference.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ApiUploadEqVolOfVarCurvesRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ApiUploadEqVolOfVarCurvesRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ApiUploadEqVolOfVarCurvesRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApiUploadEqVolOfVarCurvesRequest'
      responses:
        '200':
          description: >-
            Returns whether all curves were stored and errors for invalid
            curves, providers, or unsupported identifiers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUploadEqVolOfVarCurvesResponse'
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiUploadEqVolOfVarCurvesRequest:
      required:
        - $type
      type: object
      properties:
        market_data_environment_name:
          type: string
          description: >-
            Name of the market-data environment to use. Supply either this name
            or `provider_id`, not both.
          nullable: true
          example: Example market data
        provider_id:
          type: string
          description: >-
            Opaque identifier of the market-data provider to use. Supply either
            this identifier or `market_data_environment_name`, not both.
          nullable: true
        eq_vol_of_var_curves:
          type: array
          items:
            $ref: '#/components/schemas/EquityVolOfVarCurve'
          description: Equity volatility-of-var curves to upload.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.ApiUploadEqVolOfVarCurvesRequest,
              Derivitec.Web.Core
      additionalProperties: false
      description: Submits equity volatility-of-var curves.
    ApiUploadEqVolOfVarCurvesResponse:
      required:
        - $type
      type: object
      additionalProperties: false
      description: >-
        Returns the success flag and error messages from an equity
        volatility-of-var curve upload.
      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.MarketData.ApiUploadEqVolOfVarCurvesResponse,
              Derivitec.Web.Core
    EquityVolOfVarCurve:
      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
        maturities:
          type: array
          items:
            type: integer
            format: int32
          description: >-
            Strictly increasing maturity offsets from ReferenceDate, in calendar
            days, corresponding by position to the volatility values.
          nullable: true
        reference_date:
          type: string
          description: Reference date of the volatility curve.
          format: date-time
        vols:
          type: array
          items:
            type: number
            format: double
          description: >-
            Volatility values as decimals; 0.20 means 20%. Values correspond by
            position to maturities.
          nullable: true
        spot_ref:
          type: number
          description: Optional spot reference carried by the volatility curve.
          format: double
          nullable: true
        eq_vol_of_var_index_id:
          $ref: '#/components/schemas/InstrumentIdentifier'
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.EquityVolOfVarCurve,
              Derivitec.Web.Core
      additionalProperties: false
      description: >-
        Volatility-of-variance curve for an identified equity
        volatility-of-variance index.
    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'
    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.
  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

````