> ## 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 rate assets for a market-data provider.

> Use this operation to persist rate assets and their index curves in a provider scope that the caller may
edit. Each asset must use a name recognised by the selected provider. The upload validates the rate-asset
definition, index curve, and matching reference/value dates before saving any valid data.
For each stored rate asset, the server sets `UploadedBy` and `DerivitecModifiedBy` to the
authenticated user and `UploadedDateTime` to the current UTC time. Supplied values for these
provenance fields on each rate asset are ignored.



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json post /api/MarketData/UploadRateAssets
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/UploadRateAssets:
    post:
      tags:
        - MarketData
      summary: Store rate assets for a market-data provider.
      description: >-
        Use this operation to persist rate assets and their index curves in a
        provider scope that the caller may

        edit. Each asset must use a name recognised by the selected provider.
        The upload validates the rate-asset

        definition, index curve, and matching reference/value dates before
        saving any valid data.

        For each stored rate asset, the server sets `UploadedBy` and
        `DerivitecModifiedBy` to the

        authenticated user and `UploadedDateTime` to the current UTC time.
        Supplied values for these

        provenance fields on each rate asset are ignored.
      operationId: UploadRateAssets
      requestBody:
        description: >-
          The upload payload. `RateAssets` must be non-empty, and `ProviderId`
          plus the market-data environment fields identify the writable
          destination.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ApiUploadRateAssetsRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ApiUploadRateAssetsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ApiUploadRateAssetsRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApiUploadRateAssetsRequest'
      responses:
        '200':
          description: >-
            Returns whether the rate assets were stored and any
            unsupported-asset or curve-validation errors.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUploadRateAssetsResponse'
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiUploadRateAssetsRequest:
      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
        rate_assets:
          type: array
          items:
            $ref: '#/components/schemas/RateAsset'
          description: >-
            Interest-rate assets to store. For each asset, supplied UploadedBy,
            DerivitecModifiedBy, and UploadedDateTime

            values are ignored; the server records the authenticated user as
            uploader and modifier and the current UTC upload time.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.ApiUploadRateAssetsRequest,
              Derivitec.Web.Core
      additionalProperties: false
      description: Submits interest-rate asset definitions.
    ApiUploadRateAssetsResponse:
      required:
        - $type
      type: object
      additionalProperties: false
      description: >-
        Returns the success flag and error messages from an interest-rate asset
        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.ApiUploadRateAssetsResponse,
              Derivitec.Web.Core
    RateAsset:
      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
        business_day_convention:
          enum:
            - actual
            - following
            - modified_following
            - preceding
            - modified_preceding
          type: string
          description: >-
            Business-day adjustment convention represented by the rate asset;
            upload ignores the supplied value and uses the resolved service
            definition.
        currency:
          type: string
          description: >-
            Currency code represented by the rate asset; upload ignores the
            supplied value and uses the resolved service definition.
          nullable: true
        currency_calendar:
          $ref: '#/components/schemas/Calendar'
        day_count_convention:
          $ref: '#/components/schemas/DayCountConventionBase'
        end_to_end:
          type: boolean
          description: >-
            Whether the represented rate asset uses end-to-end adjustment;
            rate-asset upload ignores the supplied value and currently stores
            false.
        fixing_calendar:
          $ref: '#/components/schemas/Calendar'
        fixing_to_value_date_offset:
          type: integer
          description: >-
            Offset from the fixing date to the value date represented by the
            rate asset; upload ignores the supplied value and uses the resolved
            service definition.
          format: int32
        index_curve:
          $ref: '#/components/schemas/DiscountCurve'
        name:
          type: string
          description: >-
            Rate-asset identifier, or a recognised Bloomberg rate-asset code on
            upload.
          nullable: true
        rate_fixings:
          $ref: '#/components/schemas/Fixings'
        rate_tenor:
          $ref: '#/components/schemas/Tenor'
        reference_date:
          type: string
          description: Reference date of the rate-asset market data.
          format: date-time
        type:
          type: string
          description: >-
            Rate-asset type label represented by the response; upload ignores
            the supplied value and uses the resolved service definition.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.RateAsset, Derivitec.Web.Core
      additionalProperties: false
      description: >-
        Interest-rate index market data with an index curve and service-defined
        conventions. On upload, Name resolves an existing definition and only
        ReferenceDate and IndexCurve are taken from the remaining payload.

        Supplied UploadedBy, DerivitecModifiedBy, and UploadedDateTime values
        are ignored: the server records the

        authenticated user in UploadedBy and DerivitecModifiedBy and the current
        UTC time in UploadedDateTime.
    Calendar:
      description: Named business-day calendar with holiday dates and weekend treatment.
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.StaticData.Calendar, Derivitec.Web.Core: '#/components/schemas/CalendarMintlifyShape'
          Derivitec.Web.Core.StaticData.CalendarIntersection, Derivitec.Web.Core: '#/components/schemas/CalendarIntersection'
          Derivitec.Web.Core.StaticData.CalendarUnion, Derivitec.Web.Core: '#/components/schemas/CalendarUnion'
      oneOf:
        - $ref: '#/components/schemas/CalendarMintlifyShape'
        - $ref: '#/components/schemas/CalendarIntersection'
        - $ref: '#/components/schemas/CalendarUnion'
    DayCountConventionBase:
      description: Named day-count convention reference.
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.StaticData.DayCountConventionBase, Derivitec.Web.Core: '#/components/schemas/DayCountConventionBaseMintlifyShape'
          Derivitec.Web.Core.StaticData.Actual360, Derivitec.Web.Core: '#/components/schemas/Actual360'
          Derivitec.Web.Core.StaticData.Actual364, Derivitec.Web.Core: '#/components/schemas/Actual364'
          Derivitec.Web.Core.StaticData.Actual365, Derivitec.Web.Core: '#/components/schemas/Actual365'
          Derivitec.Web.Core.StaticData.ActualActual, Derivitec.Web.Core: '#/components/schemas/ActualActual'
          Derivitec.Web.Core.StaticData.ActualActualAFB, Derivitec.Web.Core: '#/components/schemas/ActualActualAFB'
          Derivitec.Web.Core.StaticData.Bus252, Derivitec.Web.Core: '#/components/schemas/Bus252'
          Derivitec.Web.Core.StaticData.NL365, Derivitec.Web.Core: '#/components/schemas/NL365'
          Derivitec.Web.Core.StaticData.Thirty360, Derivitec.Web.Core: '#/components/schemas/Thirty360'
          Derivitec.Web.Core.StaticData.ThirtyE360, Derivitec.Web.Core: '#/components/schemas/ThirtyE360'
          Derivitec.Web.Core.StaticData.ThirtyE360Isda, Derivitec.Web.Core: '#/components/schemas/ThirtyE360Isda'
          Derivitec.Web.Core.StaticData.ThirtyU360, Derivitec.Web.Core: '#/components/schemas/ThirtyU360'
      oneOf:
        - $ref: '#/components/schemas/DayCountConventionBaseMintlifyShape'
        - $ref: '#/components/schemas/Actual360'
        - $ref: '#/components/schemas/Actual364'
        - $ref: '#/components/schemas/Actual365'
        - $ref: '#/components/schemas/ActualActual'
        - $ref: '#/components/schemas/ActualActualAFB'
        - $ref: '#/components/schemas/Bus252'
        - $ref: '#/components/schemas/NL365'
        - $ref: '#/components/schemas/Thirty360'
        - $ref: '#/components/schemas/ThirtyE360'
        - $ref: '#/components/schemas/ThirtyE360Isda'
        - $ref: '#/components/schemas/ThirtyU360'
    DiscountCurve:
      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
        currency:
          type: string
          description: Currency represented by the discount curve.
          nullable: true
        curve_name:
          type: string
          description: Name distinguishing the curve within its currency.
          nullable: true
        discount_factors:
          type: array
          items:
            type: number
            format: double
          description: Dimensionless discount factors paired by index with Maturities.
          nullable: true
        extrapolate:
          type: boolean
          description: >-
            Whether the curve may be evaluated beyond its supplied maturities;
            initialized to true.
        maturities:
          type: array
          items:
            type: integer
            format: int32
          description: >-
            Maturities expressed as day offsets and paired by index with
            DiscountFactors.
          nullable: true
        value_date:
          type: string
          description: Curve value date.
          format: date-time
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.DiscountCurve, Derivitec.Web.Core
      additionalProperties: false
      description: >-
        Named currency discount curve represented by day-offset maturities and
        dimensionless discount factors.
    Fixings:
      required:
        - $type
      type: object
      properties:
        asset_id:
          type: string
          description: Series code to which the fixing observations belong.
          nullable: true
        dates:
          type: array
          items:
            type: string
          description: Observation dates in the fixing series.
          nullable: true
        values:
          type: array
          items:
            type: number
            format: double
          description: Observed values in the fixing series.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.Fixings, Derivitec.Web.Core
      additionalProperties: false
      description: Dated observations for one market-data series.
    Tenor:
      required:
        - $type
      type: object
      properties:
        tenor_string:
          type: string
          description: Tenor text; accepted syntax is not constrained by this contract.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.Tenor, Derivitec.Web.Core
      additionalProperties: false
      description: Textual tenor used by a static-data term.
    CalendarMintlifyShape:
      required:
        - $type
      type: object
      properties:
        holidays:
          type: array
          items:
            type: string
            format: date-time
          description: Dates treated as holidays by the calendar.
          nullable: true
        include_weekends:
          type: boolean
          description: >-
            Whether weekend dates are included in the calendar's
            non-business-day set.
        name:
          type: string
          description: Name of the business-day calendar.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.Calendar, Derivitec.Web.Core
      additionalProperties: false
      description: Named business-day calendar with holiday dates and weekend treatment.
    CalendarIntersection:
      required:
        - $type
      type: object
      properties:
        holidays:
          type: array
          items:
            type: string
            format: date-time
          description: Dates treated as holidays by the calendar.
          nullable: true
        include_weekends:
          type: boolean
          description: >-
            Whether weekend dates are included in the calendar's
            non-business-day set.
        name:
          type: string
          description: Name of the business-day calendar.
          nullable: true
        calendars:
          type: array
          items:
            $ref: '#/components/schemas/Calendar'
          description: Gets or sets the list of underlying calendars in the intersection.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.StaticData.CalendarIntersection,
              Derivitec.Web.Core
      additionalProperties: false
      description: The calendar intersection.
    CalendarUnion:
      required:
        - $type
      type: object
      properties:
        holidays:
          type: array
          items:
            type: string
            format: date-time
          description: Dates treated as holidays by the calendar.
          nullable: true
        include_weekends:
          type: boolean
          description: >-
            Whether weekend dates are included in the calendar's
            non-business-day set.
        name:
          type: string
          description: Name of the business-day calendar.
          nullable: true
        calendars:
          type: array
          items:
            $ref: '#/components/schemas/Calendar'
          description: Gets or sets the list of underlying calendars in the union.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.CalendarUnion, Derivitec.Web.Core
      additionalProperties: false
      description: The calendar union.
    DayCountConventionBaseMintlifyShape:
      required:
        - $type
      type: object
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.StaticData.DayCountConventionBase,
              Derivitec.Web.Core
      additionalProperties: false
      description: Named day-count convention reference.
    Actual360:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The Actual/360 day count convention.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.Actual360, Derivitec.Web.Core
    Actual364:
      required:
        - $type
      type: object
      additionalProperties: false
      description: >-
        Day-count convention using actual calendar days divided by 364 days per
        year.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.Actual364, Derivitec.Web.Core
    Actual365:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The Actual/365 day count convention.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.Actual365, Derivitec.Web.Core
    ActualActual:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The Actual/Actual day count convention.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.ActualActual, Derivitec.Web.Core
    ActualActualAFB:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The Actual/Actual AFB day count convention.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.ActualActualAFB, Derivitec.Web.Core
    Bus252:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Business-day day-count convention using 252 business days per year.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.Bus252, Derivitec.Web.Core
    NL365:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The NL/365 day count convention.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.NL365, Derivitec.Web.Core
    Thirty360:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The 30/360 day count convention.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.Thirty360, Derivitec.Web.Core
    ThirtyE360:
      required:
        - $type
      type: object
      additionalProperties: false
      description: The 30E/360 day count convention.
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.ThirtyE360, Derivitec.Web.Core
    ThirtyE360Isda:
      required:
        - $type
      type: object
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        last_coupon:
          type: boolean
          description: Gets or sets a value indicating whether last coupon is true.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.ThirtyE360Isda, Derivitec.Web.Core
      additionalProperties: false
      description: The 30E/360 ISDA day count convention DTO.
    ThirtyU360:
      required:
        - $type
      type: object
      properties:
        name:
          type: string
          description: Name of the day-count convention.
          nullable: true
        end_of_month:
          type: boolean
          description: Gets or sets a value indicating whether end of month is true.
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.StaticData.ThirtyU360, Derivitec.Web.Core
      additionalProperties: false
      description: The 30/360 US day count convention.
  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

````