MerQube Helper API

The helper API from MerQube — 14 operation(s) for helper.

Operations 14

POST /helper/index-template/buffer_simple Generate a buffer index #
POST /helper/index-template/decrement Generate a full single stock total return decrement overlay index manifest (does not create an index!) #
POST /helper/index-template/defined_outcome Generate a Defined Outcome Optons Index #
POST /helper/index-template/equity_index Generate a Generalized Equity Index #
POST /helper/index-template/multi_eb Generate a full equity basket index manifest (does not create an index!) #
POST /helper/index-template/multi_eb_portfolios Generate a proper POST to target_portfolio - the same two inputs (constituents and levels) as multi_eb, except used to just update the portfolio of an existing index. This is inclu #
POST /helper/index-template/option_strategies Generate a Option Strategies Index #
POST /helper/index-template/single_option Generate a single option index #
POST /helper/index-template/sstr Generate a full single stock total return index manifest (does not create an index!) #
POST /helper/index-template/static_basket Generate a full static basket index manifest (does not create an index!) #
POST /helper/index-template/vol_target Generate a Vol Target Index #
GET /helper/index/run-states Return the latest index run states for the uuids provided
GET /helper/options_underlier Returns all the allowed options underlier for the caller
POST /helper/solver/defined_outcome Solve for the options prices and variable leg of a Defined Outcome Options Index #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/merqube-helper-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

merqube-helper-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Merqube Helper API
  version: 4.40.0
  contact:
    email: support@merqube.com
    name: API Support
    url: https://www.merqube.com/contact
  description: 'Operations tagged helper across 2 of this provider''s published API definitions: merqube-api-openapi.json, merqube-api-raw.yaml. Each path carries the servers of the definition it was published in.'
servers:
- description: Production server
  url: https://api.merqube.com
- description: Testing server for next generation features
  url: https://api.staging.merqube.com
tags:
- name: helper
paths:
  /helper/index-template/buffer_simple:
    post:
      description: Generate a buffer index
      operationId: helper_template_buffer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientBufferConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a buffer index
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/decrement:
    post:
      description: Generate a full single stock total return decrement overlay index manifest (does not create an index!)
      operationId: helper_template_decrement
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientDecrementConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a full single stock total return decrement overlay index manifest (does not create an index!)
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/defined_outcome:
    post:
      description: Generate a Defined Outcome Options Index
      operationId: helper_template_defined_outcome
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/ClientDefinedOutcomeBufferConfig'
              - $ref: '#/components/schemas/ClientDefinedOutcomeAcceleratorConfig'
              - $ref: '#/components/schemas/ClientDefinedOutcomeCustomStrategyConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a Defined Outcome Optons Index
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/equity_index:
    post:
      description: Generate a Generalized Equity Index
      operationId: helper_template_equity_index
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientEquityIndexConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a Generalized Equity Index
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/multi_eb:
    post:
      description: Generate a full equity basket index manifest (does not create an index!)
      operationId: helper_template_multieb
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientMultiEBConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a full equity basket index manifest (does not create an index!)
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/multi_eb_portfolios:
    post:
      description: Generate a proper POST to target_portfolio - the same two inputs (constituents and levels) as multi_eb, except used to just update the portfolio of an existing index. This is included in template/multi_eb.
      operationId: helper_template_multieb_ports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientMultiEBPortUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ClientTemplateResponse'
                type: array
          description: OK
        '400':
          description: illegal request body
      summary: Generate a proper POST to target_portfolio - the same two inputs (constituents and levels) as multi_eb, except used to just update the portfolio of an existing index. This is included in template/multi_eb.
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/option_strategies:
    post:
      description: Generate a Option Strategies Index
      operationId: helper_template_option_strategies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientOptionStrategiesConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a Option Strategies Index
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/single_option:
    post:
      description: Generate a single option index
      operationId: helper_template_single_option
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientSingleOptionConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a single option index
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/sstr:
    post:
      description: Generate a full single stock total return index manifest (does not create an index!)
      operationId: helper_template_sstr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientSSTRConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a full single stock total return index manifest (does not create an index!)
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/static_basket:
    post:
      description: Generate a full static basket index manifest (does not create an index!)
      operationId: helper_template_sstr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientStaticBasketConfig'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a full static basket index manifest (does not create an index!)
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index-template/vol_target:
    post:
      description: Generate a Vol Target Index
      operationId: helper_template_vol_target
      requestBody:
        content:
          application/json:
            schema: {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTemplateResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Generate a Vol Target Index
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/index/run-states:
    get:
      description: Returns the latest index run states for the uuids provided. if no uuids provided will return all
      parameters:
      - $ref: '#/components/parameters/indexUuidsParam'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: 200 response
      summary: Return the latest index run states for the uuids provided
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/options_underlier:
    get:
      description: Returns all the allowed options underlier for the caller
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OptionsUnderlierGet'
          description: 200 response
        '403':
          description: not authorized to perform this operation
      summary: Returns all the allowed options underlier for the caller
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
  /helper/solver/defined_outcome:
    post:
      description: Solve for the options prices and variable leg of a Defined Outcome Options Index
      operationId: helper_solver_defined_outcome
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DefinedOutcomeSolverRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedOutcomeSolverResponse'
          description: OK
        '400':
          description: illegal request body
      summary: Solve for the options prices and variable leg of a Defined Outcome Options Index
      tags:
      - helper
    servers:
    - description: Production server
      url: https://api.merqube.com
    - description: Testing server for next generation features
      url: https://api.staging.merqube.com
components:
  schemas:
    StrategyOptionExpiryPeriodType:
      enum:
      - ANNUALLY
      - QUARTERLY
      - MONTHLY_3RD_FRIDAY
      - WEEKLY
      example: MONTHLY_3RD_FRIDAY
      title: Expiry Period Type
      type: string
    PortfolioUom:
      description: Used to indicate if portfolio amounts are absolute or relative. weight indicates portfolio amounts are relative weights units indicates portfolio amounts are absolute values, e.g. shares or number of contracts
      enum:
      - SHARES
      - WEIGHT
      title: PortfolioUom
      type: string
    PeriodicDateConfig:
      additionalProperties: false
      oneOf:
      - $ref: '#/components/schemas/WeeklyRebalanceDateConfig'
      - $ref: '#/components/schemas/AdvancedRebalanceDateConfig'
      - $ref: '#/components/schemas/SimpleRebalanceDateConfigOptions'
      - $ref: '#/components/schemas/XthDayRebalanceDateConfig'
    ClientMultiEBPortUpdate:
      additionalProperties: false
      properties:
        constituents:
          default_factory: list
          description: The EB portfolio directory
          example:
          - date: '2022-03-11'
            identifier: AAPL.OQ
            identifier_type: RIC
            quantity: -0.2512355
            security_type: EQUITY
          - date: '2022-03-11'
            identifier: USD
            identifier_type: RIC
            quantity: 60.0
            security_type: CASH
          items:
            $ref: '#/components/schemas/DatedValidEquityBasketPosition'
          type: array
        index_currency:
          type: string
        unit_of_measure:
          $ref: '#/components/schemas/PortfolioUom'
          default: SHARES
      required:
      - constituents
      title: ClientMultiEBPortUpdate
      type: object
    MetricsSchema:
      properties:
        data_type:
          enum:
          - string
          - number64
          - datetime64
          - int64
          - bool
          - object
          type: string
        description:
          description: a description of what this metric represents
          type: string
        name:
          description: metric name
          type: string
        object_schema:
          description: optional - this supports complex objects, ie you can specify the  metric is of this schema. THis allows you to upload a json schema itself of this metric. THis is for downstream users of this metric.
          type: object
      required:
      - data_type
      - description
      - name
      type: object
    ClientDecrementUnderlyingIDType:
      description: currently supported identifier types for decrement underlyings
      enum:
      - RIC
      - MERQUBE_INDEX
      example: RIC
      type: string
    ClientDefinedOutcomeOptionType:
      enum:
      - PUT
      - CALL
      type: string
    ClientDefinedOutcomeTradeType:
      enum:
      - BUY
      - SELL
      type: string
    FsymEquityPosition:
      allOf:
      - $ref: '#/components/schemas/BasketPosition'
      - $ref: '#/components/schemas/FsymSpecific'
      description: Equity position, identified by a FSYM + country code
    IdentifierUUIDPost:
      additionalProperties: false
      description: Identifier for a given provider. Will be referenced via the name field of the Identifier section
      properties:
        display_name:
          type: string
        index_name:
          type: string
        metric:
          type: string
        name:
          description: unique name among all other Identifiers of the provider resource type.
          pattern: ^[^!*'() ;:@&=+$,/?%#\[\]]
          type: string
        namespace:
          type: string
        num_days:
          description: Number of days to disseminate data for
          minimum: 0
          type: integer
        provider_kwargs:
          anyOf:
          - $ref: '#/components/schemas/BloombergProviderKwargs'
          - $ref: '#/components/schemas/ReutersProviderKwargs'
          - $ref: '#/components/schemas/SecapiProviderKwargs'
          - $ref: '#/components/schemas/NasdaqProviderKwargs'
        rounding_decimals:
          description: If rounding_type=standard, corresponds to number of decimal places to round to. If rounding_type=sigfig, corresponds to number of significant figures to round to.
          type: integer
        rounding_type:
          default: standard
          description: Type of rounding to apply to the disseminated data. standard = normal python round(), sigfig = significant figures rounding.
          enum:
          - standard
          - sigfig
          type: string
        start_date:
          format: date
          type: string
        ticker:
          type: string
      required:
      - name
      - ticker
      - index_name
      type: object
    TRBCFilterSpec:
      additionalProperties: false
      properties:
        include_or_exclude:
          description: Whether to include or exclude the specified TRBC codes
          enum:
          - INCLUDE
          - EXCLUDE
          type: string
        trbc_codes:
          description: TRBC codes to filter by
          items:
            type: integer
          type: array
        type:
          enum:
          - trbc
          type: string
      required:
      - type
      - trbc_codes
      - include_or_exclude
      type: object
    OptionsUnderlierGet:
      additionalProperties: false
      properties:
        allowed_underliers:
          items:
            $ref: '#/components/schemas/OptionsUnderlierItem'
            type: object
          type: array
      required:
      - allowed_underliers
      type: object
    ReinvestmentType:
      additionalProperties: false
      default: INDEX
      description: set to the type of reinvestment to apply
      enum:
      - INDEX
      - SECURITY
      example: INDEX
      type: string
    S3Bucket:
      additionalProperties: false
      properties:
        bucket:
          type: string
        path:
          type: string
      required:
      - bucket
      type: object
    ClientIndexConfigBase:
      allOf:
      - $ref: '#/components/schemas/ClientBaseVal'
      - $ref: '#/components/schemas/ClientIndexBaseProperties'
    ClientSSTRConfig:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ClientSSTRSpecific'
      - $ref: '#/components/schemas/ClientEquityBasketConfigBase'
      description: full config for SSTRs
      type: object
    LevelCheck:
      allOf:
      - properties:
          check_type:
            enum:
            - LEVEL_CHECK
            type: string
        type: object
      - $ref: '#/components/schemas/BaseCheck'
      - properties:
          params:
            $ref: '#/components/schemas/LevelCheckParams'
        type: object
      required:
      - check_type
      - params
      type: object
    holidays_to_add:
      properties:
        holidays_to_add:
          items:
            format: date
            type: string
          type: array
      type: object
    ClientManagementFeeConfig:
      additionalProperties: false
      properties:
        day_count_convention:
          $ref: '#/components/schemas/DayCountConvention'
          description: Management fee day-count convention
        rate:
          description: Management fee percentage as a decimal (e.g. 0.01 for 1%)
          maximum: 1
          minimum: 0
          type: number
      required:
      - rate
      - day_count_convention
      type: object
    ClientDefinedOutcomeBufferBase:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ClientDefinedOutcomeBufferStrategy'
      - additionalProperties: false
        properties:
          strategy_type:
            enum:
            - BUFFER
            type: string
        required:
        - strategy_type
        type: object
      description: A Defined Outcome Buffer Base
      type: object
    Provider:
      description: currently supported providers
      enum:
      - bloomberg
      - reuters
      - morningstar
      - factset
      - nasdaq
      - wind
      - secapi
      example: bloomberg
      type: string
    BloombergProviderKwargsPostType:
      description: How to post the data to Bloomberg, either the end of day method (EOD), real time method (RT) or both (EOD_AND_RT)
      enum:
      - EOD
      - RT
      - EOD_AND_RT
      type: string
    ClientDefinedOutcomeExpiry:
      additionalProperties: false
      properties:
        expiry_period_type:
          $ref: '#/components/schemas/ClientDefinedOutcomeExpiryPeriodType'
          type: string
        expiry_period_value:
          minimum: 0
          type: number
      required:
      - expiry_period_type
      - expiry_period_value
      type: object
    ClientEquityIndexSpecific:
      additionalProperties: false
      properties:
        allocation_units:
          description: The allocation units for the index, which define how the index constituents are grouped and weighted
          items:
            $ref: '#/components/schemas/AllocationUnit'
          type: array
        allocation_weight_type:
          default: FIXED_WEIGHT
          description: The way weight should be assigned to each allocation unit
          enum:
          - FIXED_WEIGHT
          - EQUAL_WEIGHT
          type: string
        currency:
          type: string
        holiday_calendar:
          $ref: '#/components/schemas/HolidayCalendarSpec'
        rebalance_config:
          $ref: '#/components/schemas/RebalanceConfig'
        reinvestment_time:
          $ref: '#/components/schemas/ReinvestmentTime'
        reinvestment_type:
          $ref: '#/components/schemas/ReinvestmentType'
        return_type:
          enum:
          - total_return
          - price_return
          - net_total_return
          type: string
      required:
      - currency
      - return_type
      - reinvestment_strategy
      - reinvestment_time
      - reinvestment_type
      - holiday_calendar
      - rebalance_config
      - allocation_units
      type: object
    LegacyStaticBasketCalendarConfig:
      properties:
        calendar_identifiers:
          items:
            $ref: '#/components/schemas/CalendarAlias'
          type: array
        holidays_to_add:
          items:
            $ref: '#/components/schemas/IsoDate'
          type: array
        holidays_to_remove:
          items:
            $ref: '#/components/schemas/IsoDate'
          type: array
      required:
      - calendar_identifiers
      type: object
    ClientDefinedOutcomeOption:
      additionalProperties: false
      properties:
        exercise_style:
          $ref: '#/components/schemas/OptionExerciseStyle'
          type: string
        exposure:
          minimum: 0
          type: number
        option_type:
          $ref: '#/components/schemas/ClientDefinedOutcomeOptionType'
          type: string
        root:
          $ref: '#/components/schemas/ClientDefinedOutcomeRoots'
          type: string
        strike_type:
          $ref: '#/components/schemas/ClientDefinedOutcomeStrikeType'
          type: string
        strike_value:
          minimum: 0
          type: number
        trade_type:
          $ref: '#/components/schemas/ClientDefinedOutcomeTradeType'
          type: string
      required:
      - strike_type
      - option_type
      - trade_type
      - strike_value
      - root
      - exercise_style
      type: object
    WeeklyRebalanceDates:
      additionalProperties: false
      properties:
        day:
          enum:
          - Monday
          - Tuesday
          - Wednesday
          - Thursday
          - Friday
          type: string
      required:
      - day
      type: object
    RebalanceMethodConfig:
      additionalProperties: false
      oneOf:
      - $ref: '#/components/schemas/FreeFloatRebalanceConfig'
      - $ref: '#/components/schemas/RebalanceTypeWithNoConfig'
    SecapiBasketPosition:
      allOf:
      - $ref: '#/components/schemas/BasketPosition'
      - $ref: '#/components/schemas/SecapiSpecific'
      description: A basket position that uses custom metrics from merqube data source
    ClientDefinedOutcomeBufferStrategy:
      additionalProperties: false
      properties:
        option_strategies:
          items:
          - $ref: '#/components/schemas/ClientDefinedOutcomeBufferStrategyItem'
          maxItems: 1
          minItems: 1
          type: array
      required:
      - option_strategies
      type: object
    InterestRateConfig:
      additionalProperties: false
      description: configuration for an interest rate
      discriminator:
        mapping:
          constant: '#/components/schemas/ConstantInterestRateConfig'
          variable: '#/components/schemas/VariableInterestRateConfig'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/ConstantInterestRateConfig'
      - $ref: '#/components/schemas/VariableInterestRateConfig'
      type: object
    CalendarAlias:
      enum:
      - default
      - Canada
      - Euronext Paris
      - Europe
      - US
      - Transatlantic
      type: string
    HolidayCalendarSpec:
      anyOf:
      - $ref: '#/components/schemas/FlatCalendarSchema'
      - $ref: '#/components/schemas/NestedCalendarSchema'
    ClientCoveredDelta:
      additionalProperties: false
      description: A covered delta strategy with a call delta between 0 and 1. Covers by selling a call.
      properties:
        method:
          default: Covered
          enum:
          - Covered
          example: Covered
          type: string
        options:
          maximum: 100.0
          minimum: 0.0
          type: number
        options_method:
          default: Delta
          enum:
          - Delta
          example: Delta
          type: string
      required:
      - options
      type: object
    OptionRoot:
      enum:
      - SPY
      - QQQ
      - IWM
      - EFA
      - EEM
      - TLT
      - LQD
      - HYG
      - GLD
      type: string
    ClientStaticBasketSpecific:
      additionalProperties: false
      properties:
        apply_mcap_screen:
          default: true
          description: set to true if the index should apply a 15% min market cap screen
          type: boolean
        base_value:
          type: number
        constituents:
          items:
            properties:
              amount:
                maximum: 100
                minimum: 0
                type: number
              identifier:
                title: Identifier
                type: string
              identifier_type:
                $ref: '#/components/schemas/PositionIdentifierType'
            required:
            - identifier
            - identifier_type
            type: object
          type: array
        holiday_calendar_config:
          oneOf:
          - $ref: '#/components/schemas/LegacyStaticBasketCalendarConfig'
          - $ref: '#/components/schemas/StaticBasketCalendarConfig'
          type: object
        rebalance_calendar:
          $ref: '#/components/schemas/HolidayCalendarSpec'
        rebalance_config:
          $ref: '#/components/schemas/RebalanceConfig'
        reinvestment_time:
          $ref: '#/components/schemas/ReinvestmentTime'
          default: AT_CLOSE
        reinvestment_type:
          $ref: '#/components/schemas/ReinvestmentType'
          default: INDEX
        restrict_base_date:
          default: true
          description: won't let user create a basket with base date before at least 70% of basket's IPO dates
          type: boolean
        return_type:
          enum:
          - total_return
          - price_return
          - net_total_return
          type: string
      required:
      - base_value
      - return_type
      - reinvestment_time
      - reinvestment_type
      - rebalance_config
      - constituents
      - apply_mcap_screen
      type: object
    CountryCode:
      description: ISO country codes
      enum:
      - AE
      - AR
      - AT
      - AU
      - BD
      - BE
      - BG
      - BH
      - BR
      - BW
      - CA
      - CH
      - CI
      - CL
      - CN
      - CO
      - CY
      - CZ
      - DE
      - DK
      - EC
      - EG
      - ES
      - FI
      - FR
      - GB
      - GR
      - HK
      - HR
      - HU
      - ID
      - IE
      - IL
      - IN
      - IS
      - IT
      - JP
      - KH
      - KR
      - KW
      - LK
      - LU
      - MX
      - MY
      - NL
      - false
      - NZ
      - PE
      - PH
      - PK
      - PL
      - PT
      - QA
      - RU
      - SA
      - SE
      - SG
      - SI
      - SK
      - TH
      - TN
      - TR
      - TT
      - TW
      - US
      - VN
      - ZA
      - ZM
      example: US
      type: string
    ClientEquityIndexConfig:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ClientEquityIndexSpecific'
      - $ref: '#/components/schemas/ClientEquityIndexConfigBase'
      description: full config for equity indices
      type: object
    ClientBufferConfig:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ClientBufferSpecific'
      - $ref: '#/components/schemas/ClientRuntimeInfo'
      - $ref: '#/components/schemas/ClientIndexConfigBase'
      description: full config for buffer indices
      type: object
    HistoryCheck:
      allOf:
      - properties:
          check_type:
            enum:
            - HISTORY_CHECK
            type: string
        type: object
      - $ref: '#/components/schemas/BaseCheck'
      - properties:
          params:
            $ref: '#/components/schemas/HistoryCheckParams'
        type: object
      required:
      - check_type
      - params
      type: object
    IntradayFlatlineAlerts:
      properties:
        alert_hours:
          $ref: '#/components/schemas/AlertHours'
        alert_type:
          $ref: '#/components/schemas/IntradayAlertType'
          default: opsgenie
          description: Type of alert to send when flatline is detected. Default is opsgenie.
        enabled:
          default: true
          description: If the flatline alert should be enabled
          type: boolean
        min_ticks:
          description: Minimum number of ticks in the window to be the same to considered a flatline
          minimum: 2
          type: integer
        window_length:
          default: 5
          description: window_length in minutes for flatline alert
          minimum: 1
          type: integer
      type: object
    OptionPosition:
      allOf:
      - $ref: '#/components/schemas/OptionSpecific'
      - $ref: '#/components/schemas/BasketPosition'
      description: An Option position
    DatedFsymEquityPosition:
      allOf:
      - $ref: '#/components/schemas/DatedBasketPosition'
      - $ref: '#/components/schemas/FsymSpecific'
    ClientDefinedOutcomeBufferConfig:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ClientDefinedOutcomeBufferBase'
      - $ref: '#/components/schemas/ClientRuntimeInfo'
      - $ref: '#/components/schemas/ClientIndexConfigBase'
      description: base config for defined outcome indices
      properties:
        currency:
          type: string
        use_maf:
          default: false
          type: boolean
      type: object
    ClientDefinedOutcomeNoEtfStrategy:
      additionalProperties: false
      properties:
        min_cap:
          default: 0
          minimum: 0
          type: number
        strategy:
          pattern: ^NO_ETF$
          type: string
      required:
      - strategy
      - min_cap
      type: object
    ClientBufferSpecific:
      additionalProperties: false
      description: properties specific to buffer indices
      properties:
        protection_end:
          description: eg the 30 in the above e

# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/merqube/refs/heads/main/openapi/merqube-helper-api-openapi.yml