/* Copyright (C) 2025 Interactive Brokers LLC. All rights reserved. This code is subject to the terms
 * and conditions of the IB API Non-Commercial License or the IB API Commercial License, as applicable. */

syntax = "proto3";

package protobuf;

option java_outer_classname = "ApiSettingsConfigProto";
option java_package = "com.ib.client.protobuf";
option csharp_namespace = "IBApi.protobuf";

message ApiSettingsConfig {
    optional bool readOnlyApi = 1;
    optional bool totalQuantityForMutualFunds = 2;
    optional bool downloadOpenOrdersOnConnection = 3;
    optional bool includeVirtualFxPositions = 4;
    optional bool prepareDailyPnL = 5;
    optional bool sendStatusUpdatesForVolatilityOrders = 6;
    optional string encodeApiMessages = 7;
    optional int32 socketPort = 8;
    optional bool useNegativeAutoRange = 9;
    optional bool createApiMessageLogFile = 10;
    optional bool includeMarketDataInLogFile = 11;
    optional bool exposeTradingScheduleToApi = 12;
    optional bool splitInsuredDepositFromCashBalance = 13;
    optional bool sendZeroPositionsForTodayOnly = 14;
    optional bool letApiAccountRequestsSwitchSubscription = 15;
    optional bool useAccountGroupsWithAllocationMethods = 16;
    optional string loggingLevel = 17;
    optional int32 masterClientId = 18;
    optional int32 bulkDataTimeout = 19;
    optional string componentExchSeparator = 20;
    optional bool showForexDataIn1_10Pips = 21;
    optional bool allowForexTradingIn1_10Pips = 22;
    optional bool roundAccountValuesToNearestWholeNumber = 23;
    optional bool sendMarketDataInLotsForUsStocks = 24;
    optional bool showAdvancedOrderRejectInUi = 25;
    optional bool rejectMessagesAboveMaxRate = 26;
    optional bool maintainConnectionOnIncorrectFields = 27;
    optional bool compatibilityModeNasdaqStocks = 28;
    optional string sendInstrumentTimezone = 29;
    optional bool sendForexDataInCompatibilityMode = 30;
    optional bool maintainAndResubmitOrdersOnReconnect = 31;
    optional int32 historicalDataMaxSize = 32;
    optional bool autoReportNettingEventContractTrades = 33;
    optional string optionExerciseRequestType = 34;
    optional bool allowLocalhostOnly = 35;
    repeated string trustedIPs = 36;
}