snaptrade 2.0.123 → 2.0.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af2a719406589ce3ae88123bd403a4102432ac9fbf6d8f7ddfba1665c2d21313
4
- data.tar.gz: a98763c429d28648bb302ad1cc67893b697d887872b1d515c503667ad88d8e70
3
+ metadata.gz: 11b241c94a730790636f70715fa1d45ac5d7df7557c49bcc901de21599d320e3
4
+ data.tar.gz: 38cf98011e50e074187dd245424da594e8258f21f133ecc3f9fd1878d16a20a4
5
5
  SHA512:
6
- metadata.gz: 128e7f1dbbdcdf568e181816945f7d618e75bb3c07a82cea4eaada86429aefceb427967e6421c900d4f7d2ea2b9feb717d4686d08cbc43f907f726a33928ce19
7
- data.tar.gz: be498c45d9af927f2d95b16922622b83fadc01aff31ceab6bbbe373c29302ab8a8d357501cee2e3e12822f07c57ded8f08d448a3b91a674060884d63ea3470a1
6
+ metadata.gz: 4020c52948f0d1d9e2840dc0426863a2dfb303ff2480e826389b6d6ff4e53a0a067da4497b861fc2960ee59c3dab1e68b9e976623bd238640e58ce2ecff7c8d8
7
+ data.tar.gz: aa02784c328165731ee75bd5c626441ba2903a5b31cbeb472ed55a070bd47f83645e52d1518311c6b2847e8359f2fc9d30713129877b868c8ff92b1903052bbc
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- snaptrade (2.0.123)
4
+ snaptrade (2.0.125)
5
5
  faraday (>= 1.0.1, < 3.0)
6
6
  faraday-multipart (~> 1.0, >= 1.0.4)
7
7
 
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Connect brokerage accounts to your app for live positions and trading
8
8
 
9
- [![npm](https://img.shields.io/badge/gem-v2.0.123-blue)](https://rubygems.org/gems/snaptrade/versions/2.0.123)
9
+ [![npm](https://img.shields.io/badge/gem-v2.0.125-blue)](https://rubygems.org/gems/snaptrade/versions/2.0.125)
10
10
  [![More Info](https://img.shields.io/badge/More%20Info-Click%20Here-orange)](https://snaptrade.com/)
11
11
 
12
12
  </div>
@@ -23,6 +23,7 @@ Connect brokerage accounts to your app for live positions and trading
23
23
  * [`snaptrade.account_information.get_all_user_holdings`](#snaptradeaccount_informationget_all_user_holdings)
24
24
  * [`snaptrade.account_information.get_user_account_balance`](#snaptradeaccount_informationget_user_account_balance)
25
25
  * [`snaptrade.account_information.get_user_account_details`](#snaptradeaccount_informationget_user_account_details)
26
+ * [`snaptrade.account_information.get_user_account_order_detail`](#snaptradeaccount_informationget_user_account_order_detail)
26
27
  * [`snaptrade.account_information.get_user_account_orders`](#snaptradeaccount_informationget_user_account_orders)
27
28
  * [`snaptrade.account_information.get_user_account_positions`](#snaptradeaccount_informationget_user_account_positions)
28
29
  * [`snaptrade.account_information.get_user_account_recent_orders`](#snaptradeaccount_informationget_user_account_recent_orders)
@@ -43,11 +44,8 @@ Connect brokerage accounts to your app for live positions and trading
43
44
  * [`snaptrade.connections.remove_brokerage_authorization`](#snaptradeconnectionsremove_brokerage_authorization)
44
45
  * [`snaptrade.connections.return_rates`](#snaptradeconnectionsreturn_rates)
45
46
  * [`snaptrade.connections.session_events`](#snaptradeconnectionssession_events)
46
- * [`snaptrade.options.get_option_strategy`](#snaptradeoptionsget_option_strategy)
47
47
  * [`snaptrade.options.get_options_chain`](#snaptradeoptionsget_options_chain)
48
- * [`snaptrade.options.get_options_strategy_quote`](#snaptradeoptionsget_options_strategy_quote)
49
48
  * [`snaptrade.options.list_option_holdings`](#snaptradeoptionslist_option_holdings)
50
- * [`snaptrade.options.place_option_strategy`](#snaptradeoptionsplace_option_strategy)
51
49
  * [`snaptrade.reference_data.get_currency_exchange_rate_pair`](#snaptradereference_dataget_currency_exchange_rate_pair)
52
50
  * [`snaptrade.reference_data.get_partner_info`](#snaptradereference_dataget_partner_info)
53
51
  * [`snaptrade.reference_data.get_security_types`](#snaptradereference_dataget_security_types)
@@ -83,7 +81,7 @@ Connect brokerage accounts to your app for live positions and trading
83
81
  Add to Gemfile:
84
82
 
85
83
  ```ruby
86
- gem 'snaptrade', '~> 2.0.123'
84
+ gem 'snaptrade', '~> 2.0.125'
87
85
  ```
88
86
 
89
87
  ## Getting Started<a id="getting-started"></a>
@@ -320,6 +318,42 @@ p result
320
318
  ---
321
319
 
322
320
 
321
+ ### `snaptrade.account_information.get_user_account_order_detail`<a id="snaptradeaccount_informationget_user_account_order_detail"></a>
322
+
323
+ Returns the detail of a single order in the specified account. This endpoint is always realtime and does not rely on cached data.
324
+
325
+
326
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
327
+
328
+ ```ruby
329
+ result = snaptrade.account_information.get_user_account_order_detail(
330
+ user_id: "snaptrade-user-123",
331
+ user_secret: "adf2aa34-8219-40f7-a6b3-60156985cc61",
332
+ account_id: "917c8734-8470-4a3e-a18f-57c3f2ee6631",
333
+ brokerage_order_id: "66a033fa-da74-4fcf-b527-feefdec9257e",
334
+ )
335
+ p result
336
+ ```
337
+
338
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
339
+
340
+ ##### user_id: `String`<a id="user_id-string"></a>
341
+ ##### user_secret: `String`<a id="user_secret-string"></a>
342
+ ##### account_id: `String`<a id="account_id-string"></a>
343
+ ##### brokerage_order_id: `String`<a id="brokerage_order_id-string"></a>
344
+ #### 🔄 Return<a id="🔄-return"></a>
345
+
346
+ [AccountOrderRecord](./lib/snaptrade/models/account_order_record.rb)
347
+
348
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
349
+
350
+ `/accounts/{accountId}/orders/{brokerageOrderId}` `GET`
351
+
352
+ [🔙 **Back to Table of Contents**](#table-of-contents)
353
+
354
+ ---
355
+
356
+
323
357
  ### `snaptrade.account_information.get_user_account_orders`<a id="snaptradeaccount_informationget_user_account_orders"></a>
324
358
 
325
359
  Returns a list of recent orders in the specified account.
@@ -1048,54 +1082,6 @@ specific users
1048
1082
  ---
1049
1083
 
1050
1084
 
1051
- ### `snaptrade.options.get_option_strategy`<a id="snaptradeoptionsget_option_strategy"></a>
1052
-
1053
- Creates an option strategy object that will be used to place an option strategy order.
1054
-
1055
-
1056
- #### 🛠️ Usage<a id="🛠️-usage"></a>
1057
-
1058
- ```ruby
1059
- result = snaptrade.options.get_option_strategy(
1060
- underlying_symbol_id: "2bcd7cc3-e922-4976-bce1-9858296801c3",
1061
- legs: [
1062
- {
1063
- "action" => "BUY_TO_OPEN",
1064
- "option_symbol_id" => "SPY220819P00200000",
1065
- "quantity" => 1,
1066
- }
1067
- ],
1068
- strategy_type: "CUSTOM",
1069
- user_id: "snaptrade-user-123",
1070
- user_secret: "adf2aa34-8219-40f7-a6b3-60156985cc61",
1071
- account_id: "accountId_example",
1072
- )
1073
- p result
1074
- ```
1075
-
1076
- #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1077
-
1078
- ##### underlying_symbol_id: `String`<a id="underlying_symbol_id-string"></a>
1079
- ##### legs: Array<[`OptionLeg`](./lib/snaptrade/models/option_leg.rb)><a id="legs-array"></a>
1080
- ##### strategy_type: [`StrategyType`](./lib/snaptrade/models/strategy_type.rb)<a id="strategy_type-strategytypelibsnaptrademodelsstrategy_typerb"></a>
1081
- ##### user_id: `String`<a id="user_id-string"></a>
1082
- ##### user_secret: `String`<a id="user_secret-string"></a>
1083
- ##### account_id: `String`<a id="account_id-string"></a>
1084
- The ID of the account to create the option strategy object in.
1085
-
1086
- #### 🔄 Return<a id="🔄-return"></a>
1087
-
1088
- [StrategyQuotes](./lib/snaptrade/models/strategy_quotes.rb)
1089
-
1090
- #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1091
-
1092
- `/accounts/{accountId}/optionStrategy` `POST`
1093
-
1094
- [🔙 **Back to Table of Contents**](#table-of-contents)
1095
-
1096
- ---
1097
-
1098
-
1099
1085
  ### `snaptrade.options.get_options_chain`<a id="snaptradeoptionsget_options_chain"></a>
1100
1086
 
1101
1087
  Returns the option chain for the specified symbol in the specified account.
@@ -1135,46 +1121,6 @@ Universal symbol ID if symbol
1135
1121
  ---
1136
1122
 
1137
1123
 
1138
- ### `snaptrade.options.get_options_strategy_quote`<a id="snaptradeoptionsget_options_strategy_quote"></a>
1139
-
1140
- Returns a Strategy Quotes object which has latest market data of the specified option strategy.
1141
-
1142
-
1143
- #### 🛠️ Usage<a id="🛠️-usage"></a>
1144
-
1145
- ```ruby
1146
- result = snaptrade.options.get_options_strategy_quote(
1147
- user_id: "snaptrade-user-123",
1148
- user_secret: "adf2aa34-8219-40f7-a6b3-60156985cc61",
1149
- account_id: "accountId_example",
1150
- option_strategy_id: "2bcd7cc3-e922-4976-bce1-9858296801c3",
1151
- )
1152
- p result
1153
- ```
1154
-
1155
- #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1156
-
1157
- ##### user_id: `String`<a id="user_id-string"></a>
1158
- ##### user_secret: `String`<a id="user_secret-string"></a>
1159
- ##### account_id: `String`<a id="account_id-string"></a>
1160
- The ID of the account the strategy will be placed in.
1161
-
1162
- ##### option_strategy_id: `String`<a id="option_strategy_id-string"></a>
1163
- Option strategy id obtained from response when creating option strategy object
1164
-
1165
- #### 🔄 Return<a id="🔄-return"></a>
1166
-
1167
- [StrategyQuotes](./lib/snaptrade/models/strategy_quotes.rb)
1168
-
1169
- #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1170
-
1171
- `/accounts/{accountId}/optionStrategy/{optionStrategyId}` `GET`
1172
-
1173
- [🔙 **Back to Table of Contents**](#table-of-contents)
1174
-
1175
- ---
1176
-
1177
-
1178
1124
  ### `snaptrade.options.list_option_holdings`<a id="snaptradeoptionslist_option_holdings"></a>
1179
1125
 
1180
1126
  Returns a list of option positions in the specified account. For stock/ETF/crypto/mutual fund positions, please use the [positions endpoint](/reference/Account%20Information/AccountInformation_getUserAccountPositions).
@@ -1211,66 +1157,6 @@ p result
1211
1157
  ---
1212
1158
 
1213
1159
 
1214
- ### `snaptrade.options.place_option_strategy`<a id="snaptradeoptionsplace_option_strategy"></a>
1215
-
1216
- Places the option strategy order and returns the order record received from the brokerage.
1217
-
1218
- #### 🛠️ Usage<a id="🛠️-usage"></a>
1219
-
1220
- ```ruby
1221
- result = snaptrade.options.place_option_strategy(
1222
- order_type: "Market",
1223
- time_in_force: "Day",
1224
- user_id: "snaptrade-user-123",
1225
- user_secret: "adf2aa34-8219-40f7-a6b3-60156985cc61",
1226
- account_id: "2bcd7cc3-e922-4976-bce1-9858296801c3",
1227
- option_strategy_id: "2bcd7cc3-e922-4976-bce1-9858296801c3",
1228
- price: 31.33,
1229
- )
1230
- p result
1231
- ```
1232
-
1233
- #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1234
-
1235
- ##### order_type: [`OrderTypeStrict`](./lib/snaptrade/models/order_type_strict.rb)<a id="order_type-ordertypestrictlibsnaptrademodelsorder_type_strictrb"></a>
1236
- The type of order to place. - For `Limit` and `StopLimit` orders, the `price`
1237
- field is required. - For `Stop` and `StopLimit` orders, the `stop` field is
1238
- required.
1239
-
1240
- ##### time_in_force: [`TimeInForceStrict`](./lib/snaptrade/models/time_in_force_strict.rb)<a id="time_in_force-timeinforcestrictlibsnaptrademodelstime_in_force_strictrb"></a>
1241
- The Time in Force type for the order. This field indicates how long the order
1242
- will remain active before it is executed or expires. Here are the supported
1243
- values: - `Day` - Day. The order is valid only for the trading day on which it
1244
- is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed
1245
- or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety
1246
- immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order
1247
- must be executed immediately. Any portion of the order that cannot be filled
1248
- immediately will be canceled.
1249
-
1250
- ##### user_id: `String`<a id="user_id-string"></a>
1251
- ##### user_secret: `String`<a id="user_secret-string"></a>
1252
- ##### account_id: `String`<a id="account_id-string"></a>
1253
- The ID of the account to execute the strategy in.
1254
-
1255
- ##### option_strategy_id: `String`<a id="option_strategy_id-string"></a>
1256
- Option strategy id obtained from response when creating option strategy object
1257
-
1258
- ##### price: `Float`<a id="price-float"></a>
1259
- Trade Price if limit or stop limit order
1260
-
1261
- #### 🔄 Return<a id="🔄-return"></a>
1262
-
1263
- [StrategyOrderRecord](./lib/snaptrade/models/strategy_order_record.rb)
1264
-
1265
- #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1266
-
1267
- `/accounts/{accountId}/optionStrategy/{optionStrategyId}/execute` `POST`
1268
-
1269
- [🔙 **Back to Table of Contents**](#table-of-contents)
1270
-
1271
- ---
1272
-
1273
-
1274
1160
  ### `snaptrade.reference_data.get_currency_exchange_rate_pair`<a id="snaptradereference_dataget_currency_exchange_rate_pair"></a>
1275
1161
 
1276
1162
  Returns an Exchange Rate Pair object for the specified Currency Pair.
@@ -497,6 +497,117 @@ module SnapTrade
497
497
  end
498
498
 
499
499
 
500
+ # Get account order detail
501
+ #
502
+ # Returns the detail of a single order in the specified account. This endpoint is always realtime and does not rely on cached data.
503
+ #
504
+ # @param user_id [String]
505
+ # @param user_secret [String]
506
+ # @param account_id [String]
507
+ # @param brokerage_order_id [String]
508
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
509
+ def get_user_account_order_detail(user_id:, user_secret:, account_id:, brokerage_order_id:, extra: {})
510
+ data, _status_code, _headers = get_user_account_order_detail_with_http_info_impl(user_id, user_secret, account_id, brokerage_order_id, extra)
511
+ data
512
+ end
513
+
514
+ # Get account order detail
515
+ #
516
+ # Returns the detail of a single order in the specified account. This endpoint is always realtime and does not rely on cached data.
517
+ #
518
+ # @param user_id [String]
519
+ # @param user_secret [String]
520
+ # @param account_id [String]
521
+ # @param brokerage_order_id [String]
522
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
523
+ def get_user_account_order_detail_with_http_info(user_id:, user_secret:, account_id:, brokerage_order_id:, extra: {})
524
+ get_user_account_order_detail_with_http_info_impl(user_id, user_secret, account_id, brokerage_order_id, extra)
525
+ end
526
+
527
+ # Get account order detail
528
+ # Returns the detail of a single order in the specified account. This endpoint is always realtime and does not rely on cached data.
529
+ # @param user_id [String]
530
+ # @param user_secret [String]
531
+ # @param account_id [String]
532
+ # @param brokerage_order_id [String]
533
+ # @param [Hash] opts the optional parameters
534
+ # @return [AccountOrderRecord]
535
+ private def get_user_account_order_detail_impl(user_id, user_secret, account_id, brokerage_order_id, opts = {})
536
+ data, _status_code, _headers = get_user_account_order_detail_with_http_info(user_id, user_secret, account_id, brokerage_order_id, opts)
537
+ data
538
+ end
539
+
540
+ # Get account order detail
541
+ # Returns the detail of a single order in the specified account. This endpoint is always realtime and does not rely on cached data.
542
+ # @param user_id [String]
543
+ # @param user_secret [String]
544
+ # @param account_id [String]
545
+ # @param brokerage_order_id [String]
546
+ # @param [Hash] opts the optional parameters
547
+ # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
548
+ private def get_user_account_order_detail_with_http_info_impl(user_id, user_secret, account_id, brokerage_order_id, opts = {})
549
+ if @api_client.config.debugging
550
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_account_order_detail ...'
551
+ end
552
+ # verify the required parameter 'user_id' is set
553
+ if @api_client.config.client_side_validation && user_id.nil?
554
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_account_order_detail"
555
+ end
556
+ # verify the required parameter 'user_secret' is set
557
+ if @api_client.config.client_side_validation && user_secret.nil?
558
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_account_order_detail"
559
+ end
560
+ # verify the required parameter 'account_id' is set
561
+ if @api_client.config.client_side_validation && account_id.nil?
562
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.get_user_account_order_detail"
563
+ end
564
+ # verify the required parameter 'brokerage_order_id' is set
565
+ if @api_client.config.client_side_validation && brokerage_order_id.nil?
566
+ fail ArgumentError, "Missing the required parameter 'brokerage_order_id' when calling AccountInformationApi.get_user_account_order_detail"
567
+ end
568
+ # resource path
569
+ local_var_path = '/accounts/{accountId}/orders/{brokerageOrderId}'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s)).sub('{' + 'brokerageOrderId' + '}', CGI.escape(brokerage_order_id.to_s))
570
+
571
+ # query parameters
572
+ query_params = opts[:query_params] || {}
573
+ query_params[:'userId'] = user_id
574
+ query_params[:'userSecret'] = user_secret
575
+
576
+ # header parameters
577
+ header_params = opts[:header_params] || {}
578
+ # HTTP header 'Accept' (if needed)
579
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
580
+
581
+ # form parameters
582
+ form_params = opts[:form_params] || {}
583
+
584
+ # http body (model)
585
+ post_body = opts[:debug_body]
586
+
587
+ # return_type
588
+ return_type = opts[:debug_return_type] || 'AccountOrderRecord'
589
+
590
+ # auth_names
591
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
592
+
593
+ new_options = opts.merge(
594
+ :operation => :"AccountInformationApi.get_user_account_order_detail",
595
+ :header_params => header_params,
596
+ :query_params => query_params,
597
+ :form_params => form_params,
598
+ :body => post_body,
599
+ :auth_names => auth_names,
600
+ :return_type => return_type
601
+ )
602
+
603
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
604
+ if @api_client.config.debugging
605
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_user_account_order_detail\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
606
+ end
607
+ return data, status_code, headers, response
608
+ end
609
+
610
+
500
611
  # List account orders
501
612
  #
502
613
  # Returns a list of recent orders in the specified account.