> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bloodydash.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a new preset

> Creates a new preset with the provided ID and preset data.



## OpenAPI

````yaml /api/swagger.json post /presets/
openapi: 3.0.1
info:
  title: BLOOD-V3 API
  contact: {}
  version: 0.0.1
servers:
  - url: //localhost:50000/api/v1
security: []
paths:
  /presets/:
    post:
      tags:
        - Presets
      summary: Create a new preset
      description: Creates a new preset with the provided ID and preset data.
      requestBody:
        description: Preset creation request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/handlers.createPresetRequest'
        required: true
      responses:
        '201':
          description: Created
          content: {}
        '400':
          description: Bad request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/handlers.ErrorResponse'
        '409':
          description: Preset already exists
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/handlers.ErrorResponse'
        '500':
          description: Internal server error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/handlers.ErrorResponse'
components:
  schemas:
    handlers.createPresetRequest:
      type: object
      properties:
        preset:
          $ref: '#/components/schemas/models.Preset'
    handlers.ErrorResponse:
      type: object
      properties:
        error:
          type: string
    models.Preset:
      type: object
      properties:
        evm:
          $ref: '#/components/schemas/models.EvmSettings'
        id:
          type: string
        solana:
          $ref: '#/components/schemas/models.SolanaSettings'
    models.EvmSettings:
      type: object
      properties:
        polymarket:
          $ref: '#/components/schemas/models.PolygonPolymarketSettings'
    models.SolanaSettings:
      type: object
      properties:
        dtf:
          $ref: '#/components/schemas/models.SolanaDtfSettings'
        swap:
          $ref: '#/components/schemas/models.SolanaSwapSettings'
    models.PolygonPolymarketSettings:
      type: object
      properties:
        copy_trade:
          $ref: '#/components/schemas/models.PolygonPolymarketCopyTradeSettings'
        holders:
          $ref: '#/components/schemas/models.PolygonPolymarketHolderSettings'
        market:
          $ref: '#/components/schemas/models.PolygonPolymarketMarketSettings'
        no_liquidity_retries:
          type: integer
        no_liquidity_retries_slippage:
          type: number
    models.SolanaDtfSettings:
      type: object
      properties:
        cu_limit:
          type: integer
        simulate:
          type: boolean
    models.SolanaSwapSettings:
      type: object
      properties:
        afk:
          $ref: '#/components/schemas/models.SolanaSwapAfkSettings'
        bloodswap:
          $ref: '#/components/schemas/models.BloodSwapSolanaSettings'
        buy_cu_limit:
          type: integer
        buy_data_size_limit:
          type: integer
        buy_no_simulate:
          type: boolean
        confirm_strategy:
          type: integer
        copy_trade:
          $ref: '#/components/schemas/models.SolanaSwapCopyTradeSettings'
        delta_ms:
          type: integer
        max_active_positions:
          type: integer
        no_atl:
          type: boolean
        no_auto_wrap:
          type: boolean
        no_custom_ata:
          type: boolean
        no_prepare:
          type: boolean
        pamm:
          $ref: '#/components/schemas/models.SolanaSwapPammSettings'
        pool:
          $ref: '#/components/schemas/models.SolanaSwapPoolSettings'
        pumpfun:
          $ref: '#/components/schemas/models.SolanaSwapPumpfunSettings'
        sell_cu_limit:
          type: integer
        sell_data_size_limit:
          type: integer
        sell_no_simulate:
          type: boolean
        sleep_before_process_ms:
          type: integer
        third_party:
          $ref: '#/components/schemas/models.SolanaSwapThirdPartySettings'
        token:
          $ref: '#/components/schemas/models.SolanaSwapTokenSettings'
        wallet_cluster:
          $ref: '#/components/schemas/models.SolanaWalletClusterSettings'
        wl_bl_wallet:
          $ref: '#/components/schemas/models.WlBlWalletSettings'
    models.PolygonPolymarketCopyTradeSettings:
      type: object
      properties:
        buy_only_first:
          type: boolean
        buy_only_no:
          type: boolean
        buy_only_yes:
          type: boolean
        highest_price:
          type: number
        lowest_price:
          type: number
        max_buy_amount:
          type: number
        max_buy_trigger:
          type: number
        max_invest_per_market:
          $ref: '#/components/schemas/models.PolygonPolymarketMaxInvestSettings'
        max_invest_per_trader:
          $ref: '#/components/schemas/models.PolygonPolymarketMaxInvestSettings'
        max_price:
          type: number
        max_trades_per_market:
          type: integer
        max_trades_per_trader:
          type: integer
        min_buy_amount:
          type: number
        min_buy_trigger:
          type: number
        min_price:
          type: number
        reverse_outcome:
          type: boolean
        sell_percentage:
          type: number
        skip_sells:
          type: boolean
        strict_sell:
          type: boolean
        strict_trade:
          type: boolean
        turbo:
          type: boolean
        use_market_price:
          type: boolean
    models.PolygonPolymarketHolderSettings:
      type: object
      properties:
        count:
          type: integer
        max_shares_amount_top_holder:
          type: number
        max_total_shares_amount:
          type: number
        min_shares_amount_top_holder:
          type: number
        min_total_shares_amount:
          type: number
    models.PolygonPolymarketMarketSettings:
      type: object
      properties:
        blacklisted_keywords:
          type: array
          items:
            type: string
        blacklisted_tags:
          type: array
          items:
            type: string
        max_bid_ask_spread:
          type: number
        max_hours_since_market_launch:
          type: number
        max_hours_till_market_close:
          type: number
        max_liquidity:
          type: number
        max_total_volume:
          type: number
        min_bid_ask_spread:
          type: number
        min_hours_since_market_launch:
          type: number
        min_hours_till_market_close:
          type: number
        min_liquidity:
          type: number
        min_total_volume:
          type: number
        skip_delayed_markets:
          type: boolean
        whitelisted_keywords:
          type: array
          items:
            type: string
        whitelisted_tags:
          type: array
          items:
            type: string
    models.SolanaSwapAfkSettings:
      type: object
      properties:
        bonding_curve_progress:
          $ref: >-
            #/components/schemas/models.SolanaSwapAfkBondingCurveProgressSettings
        creator_buy_limit:
          type: integer
        dev_tokens_continue_if_not_found:
          type: boolean
        dev_tokens_count_time_range_hours:
          type: integer
        max_dev_balance:
          type: string
        max_dev_buy:
          type: string
        max_dev_tokens_count:
          type: integer
        mcap_progress:
          $ref: '#/components/schemas/models.SolanaSwapAfkMcapProgressSettings'
        min_dev_balance:
          type: string
        min_dev_buy:
          type: string
        min_dev_tokens_count:
          type: integer
    models.BloodSwapSolanaSettings:
      type: object
      properties:
        pre_swap:
          $ref: '#/components/schemas/models.BloodSwapSolanaPreSwapSettings'
        trade_account:
          type: boolean
          description: >-
            Enabled      bool                           `toml:"enabled"
            json:"enabled" comment:"enable swapping via Blood Swap program"`
    models.SolanaSwapCopyTradeSettings:
      type: object
      properties:
        anti_exit_liquidity:
          $ref: '#/components/schemas/models.SolanaSwapAntiExitLiqSettings'
        first_interaction:
          type: boolean
        max_buy_amount:
          type: string
        max_buy_trigger:
          type: string
        max_invest:
          $ref: '#/components/schemas/models.SolanaSwapMaxInvestSettings'
        max_loss:
          $ref: '#/components/schemas/models.SolanaSwapMaxLossSettings'
        max_trades_per_token:
          type: integer
        min_buy_amount:
          type: string
        min_buy_trigger:
          type: string
        reverse:
          type: boolean
        sell_on_transfer:
          type: boolean
        sell_percentage:
          type: number
        skip_mint:
          type: boolean
        skip_multi:
          type: boolean
        skip_sells:
          type: boolean
        strict_sell:
          type: boolean
    models.SolanaSwapPammSettings:
      type: object
      properties:
        max_time_since_migration:
          type: number
        min_time_since_migration:
          type: number
        skip_reversed:
          type: boolean
    models.SolanaSwapPoolSettings:
      type: object
      properties:
        max_mcap_usd:
          type: number
        max_stable_reserves:
          type: string
        max_token_reserves:
          type: string
        min_mcap_usd:
          type: number
        min_stable_reserves:
          type: string
        min_token_reserves:
          type: string
    models.SolanaSwapPumpfunSettings:
      type: object
      properties:
        skip_cashback:
          type: boolean
        skip_mayhem:
          type: boolean
        target_cashback:
          type: boolean
        target_mayhem:
          type: boolean
    models.SolanaSwapThirdPartySettings:
      type: object
      properties:
        pumpit_pro:
          $ref: '#/components/schemas/models.PumpitPro'
    models.SolanaSwapTokenSettings:
      type: object
      properties:
        max_token_age_seconds:
          type: integer
        min_token_age_seconds:
          type: integer
        omit_skip_with_hosts_if_target_found:
          type: boolean
        skip_freeze_authority:
          type: boolean
        skip_mint_authority:
          type: boolean
        skip_no_metadata:
          type: boolean
        skip_no_socials:
          type: boolean
        skip_repeated_socials:
          type: boolean
        skip_with_hosts:
          type: array
          items:
            type: string
        target_accounts:
          type: array
          items:
            type: string
        target_links:
          type: array
          items:
            type: string
        target_no_socials:
          type: boolean
        target_with_hosts:
          type: array
          items:
            type: string
        unique:
          $ref: '#/components/schemas/models.SolanaSwapTokenUniqueSettings'
    models.SolanaWalletClusterSettings:
      type: object
      properties:
        enabled:
          type: boolean
        randomize_buy_amount:
          type: boolean
        wallet_names:
          type: array
          items:
            type: string
    models.WlBlWalletSettings:
      type: object
      properties:
        enabled:
          type: boolean
        group:
          type: string
        skip_blacklisted:
          type: boolean
        target_whitelisted:
          type: boolean
    models.PolygonPolymarketMaxInvestSettings:
      type: object
      properties:
        enabled:
          type: boolean
        limit:
          type: number
    models.SolanaSwapAfkBondingCurveProgressSettings:
      type: object
      properties:
        duration_ms:
          type: integer
        enabled:
          type: boolean
        lowest:
          type: number
        target:
          type: number
    models.SolanaSwapAfkMcapProgressSettings:
      type: object
      properties:
        duration_ms:
          type: integer
        enabled:
          type: boolean
        lowest:
          type: number
        target:
          type: number
    models.BloodSwapSolanaPreSwapSettings:
      type: object
      properties:
        dynamic_liquidity:
          $ref: >-
            #/components/schemas/models.BloodSwapSolanaPreSwapDynamicLiquiditySettings
        liquidity:
          $ref: '#/components/schemas/models.BloodSwapSolanaPreSwapLiquiditySettings'
        slot:
          $ref: '#/components/schemas/models.BloodSwapSolanaPreSwapSlotSettings'
        timestamp:
          $ref: '#/components/schemas/models.BloodSwapSolanaPreSwapTimestampSettings'
    models.SolanaSwapAntiExitLiqSettings:
      type: object
      properties:
        enabled:
          type: boolean
        threshold:
          type: integer
        time_window_seconds:
          type: integer
    models.SolanaSwapMaxInvestSettings:
      type: object
      properties:
        enabled:
          type: boolean
        limit:
          type: string
    models.SolanaSwapMaxLossSettings:
      type: object
      properties:
        enabled:
          type: boolean
        limit:
          type: string
    models.PumpitPro:
      type: object
      properties:
        bl_api_key:
          type: string
        enabled:
          type: boolean
        wl_api_key:
          type: string
    models.SolanaSwapTokenUniqueSettings:
      type: object
      properties:
        enabled:
          type: boolean
        exact:
          type: boolean
        image:
          type: boolean
        name:
          type: boolean
        symbol:
          type: boolean
        telegram:
          type: boolean
        time_range_hours:
          type: integer
        twitter:
          type: boolean
        website:
          type: boolean
    models.BloodSwapSolanaPreSwapDynamicLiquiditySettings:
      type: object
      properties:
        enabled:
          type: boolean
        max_liquidity_difference:
          type: string
        min_liquidity_difference:
          type: string
    models.BloodSwapSolanaPreSwapLiquiditySettings:
      type: object
      properties:
        enabled:
          type: boolean
        max_liquidity:
          type: string
        min_liquidity:
          type: string
    models.BloodSwapSolanaPreSwapSlotSettings:
      type: object
      properties:
        enabled:
          type: boolean
        max_slot_difference:
          type: integer
    models.BloodSwapSolanaPreSwapTimestampSettings:
      type: object
      properties:
        enabled:
          type: boolean
        max_timestamp_difference:
          type: integer

````