The arguments required by outgoing messages mostly resemble the official api-documentation. However, apart from using underscored (snake-case) properties names, sometimes they slightly differ from those specified by Interactive Brokers.
The properties can be referenced en detail in the source-code (lib/ib/messages/outgoing.rb,lib/ib/messages/outgoing/*rb) of ib-api.
If just a clarification, how to write properties is needed
IB::Messages::Outgoing::{message-class}.properties?
is available
Example
In the Console, use the tab-completion to reveal the proper method-name
> Messages::Outgoing::Req [tab]
Messages::Outgoing::ReqSecDefOptParams
Messages::Outgoing::RequestAccountData
Messages::Outgoing::RequestAccountSummary
Messages::Outgoing::RequestAccountUpdates
Messages::Outgoing::RequestAccountUpdatesMulti
Messages::Outgoing::RequestAllOpenOrders
Messages::Outgoing::RequestAutoOpenOrders
Messages::Outgoing::RequestCalculateImpliedVolatility
Messages::Outgoing::RequestCalculateOptionPrice
Messages::Outgoing::RequestContractData
Messages::Outgoing::RequestContractDetails
Messages::Outgoing::RequestCurrentTime
Messages::Outgoing::RequestExecutions
Messages::Outgoing::RequestFA
Messages::Outgoing::RequestFundamentalData
Messages::Outgoing::RequestGlobalCancel
Messages::Outgoing::RequestHeadTimeStamp
Messages::Outgoing::RequestHistogramData
Messages::Outgoing::RequestHistoricalData
Messages::Outgoing::RequestIds
Messages::Outgoing::RequestImpliedVolatility
Messages::Outgoing::RequestManagedAccounts
Messages::Outgoing::RequestMarketData
Messages::Outgoing::RequestMarketDataType
Messages::Outgoing::RequestMarketDepth
Messages::Outgoing::RequestNewsBulletins
Messages::Outgoing::RequestOpenOrders
Messages::Outgoing::RequestOptionChainDefinition
Messages::Outgoing::RequestOptionPrice
Messages::Outgoing::RequestPositions
Messages::Outgoing::RequestPositionsMulti
Messages::Outgoing::RequestRealTimeBars
Messages::Outgoing::RequestScannerParameters
Messages::Outgoing::RequestScannerSubscription
Messages::Outgoing::RequestSecurityDefinitionOptionParameters
Messages::Outgoing::RequstMarketDepthExchanges
Then we can call :properties
on the specified message-class
> Messages::Outgoing::RequestFA.properties?
=> [:fa_data_type]
C.send_message :RequestFA, fa_data_type: 3 # Account-Aliases
> Messages::Outgoing::RequestImpliedVolatility.properties?
=> [:request_id, :contract, :option_price, :under_price, :implied_volatility_options_count, :implied_volatility_options_conditions]