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

# Upload Portfolio history



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json post /api/LegacyPosition/PortfolioHistoryUpload
openapi: 3.0.1
info:
  title: Derivitec Api 1.0
  version: '1.0'
servers:
  - description: Derivitec Server
    url: https://api.riskportal.activeviam.com
security:
  - oauth2: []
  - apikey: []
paths:
  /api/LegacyPosition/PortfolioHistoryUpload:
    post:
      tags:
        - LegacyPosition
      summary: Upload Portfolio history
      operationId: PortfolioHistoryUpload
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ApiPortfolioHistoryUploadRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ApiPortfolioHistoryUploadRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ApiPortfolioHistoryUploadRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApiPortfolioHistoryUploadRequest'
        description: ''
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiPositionDataTableUploadResponse'
          description: Success
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiPortfolioHistoryUploadRequest:
      example:
        positions: ''
      properties:
        create_missing_books:
          type: boolean
        file_template:
          enum:
            - derivitec_mixed
            - derivitec_by_security_type
            - eze
          type: string
        use_best_effort:
          type: boolean
        positions:
          nullable: true
          type: array
          items:
            type: object
            additionalProperties: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.Positions.ApiPortfolioHistoryUploadRequest,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    ApiPositionDataTableUploadResponse:
      example:
        parse_import_data_table_response:
          is_valid: true
          parse_warnings:
            - error_values:
                - error_values
                - error_values
              error_level: error
              tab: tab
              error_columns:
                - error_columns
                - error_columns
              row: row
              client_transaction_id: client_transaction_id
              message: message
              error_column: error_column
            - error_values:
                - error_values
                - error_values
              error_level: error
              tab: tab
              error_columns:
                - error_columns
                - error_columns
              row: row
              client_transaction_id: client_transaction_id
              message: message
              error_column: error_column
          table_messages:
            - value: value
              key: key
            - value: value
              key: key
          parse_errors:
            - error_values:
                - error_values
                - error_values
              error_level: error
              tab: tab
              error_columns:
                - error_columns
                - error_columns
              row: row
              client_transaction_id: client_transaction_id
              message: message
              error_column: error_column
            - error_values:
                - error_values
                - error_values
              error_level: error
              tab: tab
              error_columns:
                - error_columns
                - error_columns
              row: row
              client_transaction_id: client_transaction_id
              message: message
              error_column: error_column
          message: message
        status: none
      properties:
        is_success:
          type: boolean
        error_messages:
          items:
            type: string
          nullable: true
          type: array
        parse_import_data_table_response:
          $ref: '#/components/schemas/ApiParseImportDataTableResponse'
        status:
          enum:
            - none
            - succeeded
            - succeeded_with_warnings
            - succeeded_with_errors
            - failed
          type: string
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.Positions.ApiPositionDataTableUploadResponse,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    ApiParseImportDataTableResponse:
      example:
        is_valid: true
        parse_warnings:
          - error_values:
              - error_values
              - error_values
            error_level: error
            tab: tab
            error_columns:
              - error_columns
              - error_columns
            row: row
            client_transaction_id: client_transaction_id
            message: message
            error_column: error_column
          - error_values:
              - error_values
              - error_values
            error_level: error
            tab: tab
            error_columns:
              - error_columns
              - error_columns
            row: row
            client_transaction_id: client_transaction_id
            message: message
            error_column: error_column
        table_messages:
          - value: value
            key: key
          - value: value
            key: key
        parse_errors:
          - error_values:
              - error_values
              - error_values
            error_level: error
            tab: tab
            error_columns:
              - error_columns
              - error_columns
            row: row
            client_transaction_id: client_transaction_id
            message: message
            error_column: error_column
          - error_values:
              - error_values
              - error_values
            error_level: error
            tab: tab
            error_columns:
              - error_columns
              - error_columns
            row: row
            client_transaction_id: client_transaction_id
            message: message
            error_column: error_column
        message: message
      properties:
        is_valid:
          type: boolean
        message:
          nullable: true
          type: string
        parse_warnings:
          items:
            $ref: '#/components/schemas/ApiParseError'
          nullable: true
          type: array
        parse_errors:
          items:
            $ref: '#/components/schemas/ApiParseError'
          nullable: true
          type: array
        table_messages:
          items:
            $ref: '#/components/schemas/StringStringKeyValuePair'
          nullable: true
          type: array
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.Positions.ApiParseImportDataTableResponse,
              Derivitec.Web.Core
      required:
        - $type
      type: object
    ApiParseError:
      example:
        error_values:
          - error_values
          - error_values
        error_level: error
        tab: tab
        error_columns:
          - error_columns
          - error_columns
        row: row
        client_transaction_id: client_transaction_id
        message: message
        error_column: error_column
      properties:
        client_transaction_id:
          nullable: true
          type: string
        error_column:
          nullable: true
          readOnly: true
          type: string
        error_columns:
          items:
            type: string
          nullable: true
          type: array
        error_values:
          items:
            type: string
          nullable: true
          type: array
        message:
          nullable: true
          type: string
        row:
          nullable: true
          type: string
        tab:
          nullable: true
          type: string
        error_level:
          enum:
            - error
            - warning
          type: string
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.ApiParseError, Derivitec.Web.Core
      required:
        - $type
      type: object
    StringStringKeyValuePair:
      example:
        value: value
        key: key
      properties:
        key:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
  securitySchemes:
    oauth2:
      description: >-
        OAuth2 access-token requested from AWS Cognito and provided as a Auth
        Bearer header
      flows:
        implicit:
          authorizationUrl: https://auth.riskportal.derivitec.com/oauth2/authorize
          scopes: {}
      type: oauth2
    apikey:
      description: API-Key requested via the site and provided as a header
      in: header
      name: x-api-key
      type: apiKey

````