snaptrade 3.0.8 → 3.0.9

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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +3 -40
  4. data/lib/snaptrade/api/account_information_api.rb +0 -103
  5. data/lib/snaptrade/api/experimental_endpoints_api.rb +4 -4
  6. data/lib/snaptrade/models/connection_account.rb +5 -3
  7. data/lib/snaptrade/models/connection_account_sync_status.rb +1 -1
  8. data/lib/snaptrade/models/deposit_account_net_value.rb +1 -1
  9. data/lib/snaptrade/models/investment_account_net_value.rb +1 -1
  10. data/lib/snaptrade/models/line_of_credit_account.rb +356 -0
  11. data/lib/snaptrade/models/line_of_credit_account_credit_details.rb +218 -0
  12. data/lib/snaptrade/models/{user_aum_percentile_response.rb → line_of_credit_account_credit_details_minimum_payment_amount.rb} +22 -12
  13. data/lib/snaptrade/models/{bucket.rb → line_of_credit_account_kind.rb} +5 -10
  14. data/lib/snaptrade/models/{user_aum_percentile_object.rb → line_of_credit_account_net_value.rb} +13 -67
  15. data/lib/snaptrade/models/{user_aum_percentile_response_data.rb → line_of_credit_account_sync_status.rb} +19 -79
  16. data/lib/snaptrade/version.rb +1 -1
  17. data/lib/snaptrade.rb +6 -4
  18. data/spec/api/account_information_api_spec.rb +0 -13
  19. data/spec/api/experimental_endpoints_api_spec.rb +1 -1
  20. data/spec/models/line_of_credit_account_credit_details_minimum_payment_amount_spec.rb +35 -0
  21. data/spec/models/line_of_credit_account_credit_details_spec.rb +29 -0
  22. data/spec/models/line_of_credit_account_kind_spec.rb +23 -0
  23. data/spec/models/line_of_credit_account_net_value_spec.rb +35 -0
  24. data/spec/models/line_of_credit_account_spec.rb +95 -0
  25. data/spec/models/line_of_credit_account_sync_status_spec.rb +35 -0
  26. metadata +228 -222
  27. data/spec/models/bucket_spec.rb +0 -23
  28. data/spec/models/user_aum_percentile_object_spec.rb +0 -53
  29. data/spec/models/user_aum_percentile_response_data_spec.rb +0 -53
  30. data/spec/models/user_aum_percentile_response_spec.rb +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a8a3e8aef2b0ae768708ac2981cb91b0c02adb600d348f8f69029d970b4c036d
4
- data.tar.gz: 0b70248d18cb311e410095f17bfb55a84b342c2ba78caf980f7917fe425abfd0
3
+ metadata.gz: 7e61aa0409711a25fe2dc0ee423475ce9438b4c25a6746b81a9512a881279a4a
4
+ data.tar.gz: ec0e72d57a47cf396e15e332bd8335f3c5567a439b876dd79d64107668e568e6
5
5
  SHA512:
6
- metadata.gz: '0191bef312389e4fac47c87e2076df334c4fcf98d45ac2562a4c7703a02f7581949e4baeb7060ab498b8942269d84f656dd9b96ae07632b4023cb4a2e903243d'
7
- data.tar.gz: 7e17024820295a215046d1e540e1d6c8f856e02c8096d7181ee2ed735903a34b428b80b43047358657a266949f2657990454c16c6eaa704b63a9683fc594d81e
6
+ metadata.gz: 462a72b9827a6c1d89b3b2d699dff52e254ec4f868060290b6e8f801765f075b3027b2911cca235735db5e5229abe1fe732107d44dbdd497e08ee5340700d338
7
+ data.tar.gz: 672dbfd58fd1bca924f4f56e19f58b3dcf9498eea9f7bd7f73ff317314acd2326a56edcce775bc8dbbc582c4f8003a347b9f21248c22b3208a56e94a68828289
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- snaptrade (3.0.8)
4
+ snaptrade (3.0.9)
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-v3.0.8-blue)](https://rubygems.org/gems/snaptrade/versions/3.0.8)
9
+ [![npm](https://img.shields.io/badge/gem-v3.0.9-blue)](https://rubygems.org/gems/snaptrade/versions/3.0.9)
10
10
  [![More Info](https://img.shields.io/badge/More%20Info-Click%20Here-orange)](https://snaptrade.com/)
11
11
 
12
12
  </div>
@@ -28,7 +28,6 @@ Connect brokerage accounts to your app for live positions and trading
28
28
  * [`snaptrade.account_information.get_user_account_orders`](#snaptradeaccount_informationget_user_account_orders)
29
29
  * [`snaptrade.account_information.get_user_account_recent_orders`](#snaptradeaccount_informationget_user_account_recent_orders)
30
30
  * [`snaptrade.account_information.get_user_account_return_rates`](#snaptradeaccount_informationget_user_account_return_rates)
31
- * [`snaptrade.account_information.get_user_aum_percentile`](#snaptradeaccount_informationget_user_aum_percentile)
32
31
  * [`snaptrade.account_information.get_user_holdings`](#snaptradeaccount_informationget_user_holdings)
33
32
  * [`snaptrade.account_information.list_user_accounts`](#snaptradeaccount_informationlist_user_accounts)
34
33
  * [`snaptrade.account_information.update_user_account`](#snaptradeaccount_informationupdate_user_account)
@@ -83,7 +82,7 @@ Connect brokerage accounts to your app for live positions and trading
83
82
  Add to Gemfile:
84
83
 
85
84
  ```ruby
86
- gem 'snaptrade', '~> 3.0.8'
85
+ gem 'snaptrade', '~> 3.0.9'
87
86
  ```
88
87
 
89
88
  ## Getting Started<a id="getting-started"></a>
@@ -543,42 +542,6 @@ returns all six supported timeframes.
543
542
  ---
544
543
 
545
544
 
546
- ### `snaptrade.account_information.get_user_aum_percentile`<a id="snaptradeaccount_informationget_user_aum_percentile"></a>
547
-
548
- Returns where the user's total assets sit within the distribution of a cohort of comparable users, as a coarse bucket plus an integer percentile.
549
-
550
- The cohort is scoped to your own book: a user is only ever compared against your other users, never across SnapTrade customers. (Users on personal-use keys are the exception — they are compared against all other personal-use users, since a personal key has a single user and cannot form a distribution of its own.) The distribution is recomputed monthly, and `as_of` reports which month's distribution the placement came from.
551
-
552
- `data` is `null` — a 200, not an error — when SnapTrade declines to place the user. That happens when the cohort is too small to publish a distribution, or when the user's own holdings are incomplete or stale (for example they hold a disabled connection). A placement computed from a partial view of a user's assets would understate them, so none is returned.
553
-
554
-
555
- #### 🛠️ Usage<a id="🛠️-usage"></a>
556
-
557
- ```ruby
558
- result = snaptrade.account_information.get_user_aum_percentile(
559
- user_id: "snaptrade-user-123",
560
- user_secret: "adf2aa34-8219-40f7-a6b3-60156985cc61",
561
- )
562
- p result
563
- ```
564
-
565
- #### ⚙️ Parameters<a id="⚙️-parameters"></a>
566
-
567
- ##### user_id: `String`<a id="user_id-string"></a>
568
- ##### user_secret: `String`<a id="user_secret-string"></a>
569
- #### 🔄 Return<a id="🔄-return"></a>
570
-
571
- [UserAumPercentileResponse](./lib/snaptrade/models/user_aum_percentile_response.rb)
572
-
573
- #### 🌐 Endpoint<a id="🌐-endpoint"></a>
574
-
575
- `/aumPercentile` `GET`
576
-
577
- [🔙 **Back to Table of Contents**](#table-of-contents)
578
-
579
- ---
580
-
581
-
582
545
  ### `snaptrade.account_information.get_user_holdings`<a id="snaptradeaccount_informationget_user_holdings"></a>
583
546
  ![Deprecated](https://img.shields.io/badge/deprecated-yellow)
584
547
 
@@ -1443,7 +1406,7 @@ Experimental and subject to change without notice.
1443
1406
 
1444
1407
  Returns the accounts that belong to the specified connection for the authenticated user, using the `kind`-discriminated account shape.
1445
1408
 
1446
- Each item in the response carries a `kind` field (currently `investment` and `deposit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema.
1409
+ Each item in the response carries a `kind` field (`investment`, `deposit`, and `line_of_credit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema.
1447
1410
 
1448
1411
  On Pay as you Go / Real-time, this endpoint refreshes each account's opening date and total net value (`net_value`) live from the institution on each call, along with funding date for `investment` accounts.
1449
1412
 
@@ -1134,109 +1134,6 @@ module SnapTrade
1134
1134
  end
1135
1135
 
1136
1136
 
1137
- # Get the user's AUM percentile
1138
- #
1139
- # Returns where the user's total assets sit within the distribution of a cohort of comparable users, as a coarse bucket plus an integer percentile.
1140
- #
1141
- # The cohort is scoped to your own book: a user is only ever compared against your other users, never across SnapTrade customers. (Users on personal-use keys are the exception — they are compared against all other personal-use users, since a personal key has a single user and cannot form a distribution of its own.) The distribution is recomputed monthly, and `as_of` reports which month's distribution the placement came from.
1142
- #
1143
- # `data` is `null` — a 200, not an error — when SnapTrade declines to place the user. That happens when the cohort is too small to publish a distribution, or when the user's own holdings are incomplete or stale (for example they hold a disabled connection). A placement computed from a partial view of a user's assets would understate them, so none is returned.
1144
- #
1145
- # @param user_id [String]
1146
- # @param user_secret [String]
1147
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
1148
- def get_user_aum_percentile(user_id:, user_secret:, extra: {})
1149
- data, _status_code, _headers = get_user_aum_percentile_with_http_info_impl(user_id, user_secret, extra)
1150
- data
1151
- end
1152
-
1153
- # Get the user's AUM percentile
1154
- #
1155
- # Returns where the user's total assets sit within the distribution of a cohort of comparable users, as a coarse bucket plus an integer percentile.
1156
- #
1157
- # The cohort is scoped to your own book: a user is only ever compared against your other users, never across SnapTrade customers. (Users on personal-use keys are the exception — they are compared against all other personal-use users, since a personal key has a single user and cannot form a distribution of its own.) The distribution is recomputed monthly, and `as_of` reports which month's distribution the placement came from.
1158
- #
1159
- # `data` is `null` — a 200, not an error — when SnapTrade declines to place the user. That happens when the cohort is too small to publish a distribution, or when the user's own holdings are incomplete or stale (for example they hold a disabled connection). A placement computed from a partial view of a user's assets would understate them, so none is returned.
1160
- #
1161
- # @param user_id [String]
1162
- # @param user_secret [String]
1163
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
1164
- def get_user_aum_percentile_with_http_info(user_id:, user_secret:, extra: {})
1165
- get_user_aum_percentile_with_http_info_impl(user_id, user_secret, extra)
1166
- end
1167
-
1168
- # Get the user's AUM percentile
1169
- # Returns where the user's total assets sit within the distribution of a cohort of comparable users, as a coarse bucket plus an integer percentile. The cohort is scoped to your own book: a user is only ever compared against your other users, never across SnapTrade customers. (Users on personal-use keys are the exception — they are compared against all other personal-use users, since a personal key has a single user and cannot form a distribution of its own.) The distribution is recomputed monthly, and `as_of` reports which month's distribution the placement came from. `data` is `null` — a 200, not an error — when SnapTrade declines to place the user. That happens when the cohort is too small to publish a distribution, or when the user's own holdings are incomplete or stale (for example they hold a disabled connection). A placement computed from a partial view of a user's assets would understate them, so none is returned.
1170
- # @param user_id [String]
1171
- # @param user_secret [String]
1172
- # @param [Hash] opts the optional parameters
1173
- # @return [UserAumPercentileResponse]
1174
- private def get_user_aum_percentile_impl(user_id, user_secret, opts = {})
1175
- data, _status_code, _headers = get_user_aum_percentile_with_http_info(user_id, user_secret, opts)
1176
- data
1177
- end
1178
-
1179
- # Get the user&#39;s AUM percentile
1180
- # Returns where the user&#39;s total assets sit within the distribution of a cohort of comparable users, as a coarse bucket plus an integer percentile. The cohort is scoped to your own book: a user is only ever compared against your other users, never across SnapTrade customers. (Users on personal-use keys are the exception — they are compared against all other personal-use users, since a personal key has a single user and cannot form a distribution of its own.) The distribution is recomputed monthly, and &#x60;as_of&#x60; reports which month&#39;s distribution the placement came from. &#x60;data&#x60; is &#x60;null&#x60; — a 200, not an error — when SnapTrade declines to place the user. That happens when the cohort is too small to publish a distribution, or when the user&#39;s own holdings are incomplete or stale (for example they hold a disabled connection). A placement computed from a partial view of a user&#39;s assets would understate them, so none is returned.
1181
- # @param user_id [String]
1182
- # @param user_secret [String]
1183
- # @param [Hash] opts the optional parameters
1184
- # @return [Array<(UserAumPercentileResponse, Integer, Hash)>] UserAumPercentileResponse data, response status code and response headers
1185
- private def get_user_aum_percentile_with_http_info_impl(user_id, user_secret, opts = {})
1186
- if @api_client.config.debugging
1187
- @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_aum_percentile ...'
1188
- end
1189
- # verify the required parameter 'user_id' is set
1190
- if @api_client.config.client_side_validation && user_id.nil?
1191
- fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_aum_percentile"
1192
- end
1193
- # verify the required parameter 'user_secret' is set
1194
- if @api_client.config.client_side_validation && user_secret.nil?
1195
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_aum_percentile"
1196
- end
1197
- # resource path
1198
- local_var_path = '/aumPercentile'
1199
-
1200
- # query parameters
1201
- query_params = opts[:query_params] || {}
1202
- query_params[:'userId'] = user_id
1203
- query_params[:'userSecret'] = user_secret
1204
-
1205
- # header parameters
1206
- header_params = opts[:header_params] || {}
1207
- # HTTP header 'Accept' (if needed)
1208
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1209
-
1210
- # form parameters
1211
- form_params = opts[:form_params] || {}
1212
-
1213
- # http body (model)
1214
- post_body = opts[:debug_body]
1215
-
1216
- # return_type
1217
- return_type = opts[:debug_return_type] || 'UserAumPercentileResponse'
1218
-
1219
- # auth_names
1220
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
1221
-
1222
- new_options = opts.merge(
1223
- :operation => :"AccountInformationApi.get_user_aum_percentile",
1224
- :header_params => header_params,
1225
- :query_params => query_params,
1226
- :form_params => form_params,
1227
- :body => post_body,
1228
- :auth_names => auth_names,
1229
- :return_type => return_type
1230
- )
1231
-
1232
- data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
1233
- if @api_client.config.debugging
1234
- @api_client.config.logger.debug "API called: AccountInformationApi#get_user_aum_percentile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1235
- end
1236
- return data, status_code, headers, response
1237
- end
1238
-
1239
-
1240
1137
  # List account holdings
1241
1138
  #
1242
1139
  # **Deprecated.** Use the finer-grained account data endpoints instead: [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getAllAccountPositions), and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders).
@@ -625,7 +625,7 @@ module SnapTrade
625
625
  #
626
626
  # Returns the accounts that belong to the specified connection for the authenticated user, using the `kind`-discriminated account shape.
627
627
  #
628
- # Each item in the response carries a `kind` field (currently `investment` and `deposit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema.
628
+ # Each item in the response carries a `kind` field (`investment`, `deposit`, and `line_of_credit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema.
629
629
  #
630
630
  # On Pay as you Go / Real-time, this endpoint refreshes each account's opening date and total net value (`net_value`) live from the institution on each call, along with funding date for `investment` accounts.
631
631
  #
@@ -648,7 +648,7 @@ module SnapTrade
648
648
  #
649
649
  # Returns the accounts that belong to the specified connection for the authenticated user, using the `kind`-discriminated account shape.
650
650
  #
651
- # Each item in the response carries a `kind` field (currently `investment` and `deposit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema.
651
+ # Each item in the response carries a `kind` field (`investment`, `deposit`, and `line_of_credit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema.
652
652
  #
653
653
  # On Pay as you Go / Real-time, this endpoint refreshes each account's opening date and total net value (`net_value`) live from the institution on each call, along with funding date for `investment` accounts.
654
654
  #
@@ -665,7 +665,7 @@ module SnapTrade
665
665
  end
666
666
 
667
667
  # List accounts for a connection (discriminated union)
668
- # Experimental and subject to change without notice. Returns the accounts that belong to the specified connection for the authenticated user, using the `kind`-discriminated account shape. Each item in the response carries a `kind` field (currently `investment` and `deposit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema. On Pay as you Go / Real-time, this endpoint refreshes each account's opening date and total net value (`net_value`) live from the institution on each call, along with funding date for `investment` accounts. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by institution. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data.
668
+ # Experimental and subject to change without notice. Returns the accounts that belong to the specified connection for the authenticated user, using the `kind`-discriminated account shape. Each item in the response carries a `kind` field (`investment`, `deposit`, and `line_of_credit` are implemented) that determines which additional fields are present -- see the `ConnectionAccount` schema. On Pay as you Go / Real-time, this endpoint refreshes each account's opening date and total net value (`net_value`) live from the institution on each call, along with funding date for `investment` accounts. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by institution. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data.
669
669
  # @param connection_id [String]
670
670
  # @param user_id [String]
671
671
  # @param user_secret [String]
@@ -677,7 +677,7 @@ module SnapTrade
677
677
  end
678
678
 
679
679
  # List accounts for a connection (discriminated union)
680
- # Experimental and subject to change without notice. Returns the accounts that belong to the specified connection for the authenticated user, using the &#x60;kind&#x60;-discriminated account shape. Each item in the response carries a &#x60;kind&#x60; field (currently &#x60;investment&#x60; and &#x60;deposit&#x60; are implemented) that determines which additional fields are present -- see the &#x60;ConnectionAccount&#x60; schema. On Pay as you Go / Real-time, this endpoint refreshes each account&#39;s opening date and total net value (&#x60;net_value&#x60;) live from the institution on each call, along with funding date for &#x60;investment&#x60; accounts. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by institution. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data.
680
+ # Experimental and subject to change without notice. Returns the accounts that belong to the specified connection for the authenticated user, using the &#x60;kind&#x60;-discriminated account shape. Each item in the response carries a &#x60;kind&#x60; field (&#x60;investment&#x60;, &#x60;deposit&#x60;, and &#x60;line_of_credit&#x60; are implemented) that determines which additional fields are present -- see the &#x60;ConnectionAccount&#x60; schema. On Pay as you Go / Real-time, this endpoint refreshes each account&#39;s opening date and total net value (&#x60;net_value&#x60;) live from the institution on each call, along with funding date for &#x60;investment&#x60; accounts. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by institution. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data.
681
681
  # @param connection_id [String]
682
682
  # @param user_id [String]
683
683
  # @param user_secret [String]
@@ -11,14 +11,15 @@ require 'date'
11
11
  require 'time'
12
12
 
13
13
  module SnapTrade
14
- # A single account under a connection, from the `kind`-discriminated union used by `Connections_listConnectionAccounts`. Use `kind` to determine which schema is present. `investment` and `deposit` are implemented today; `line_of_credit` will be added as an additional variant in a future release.
14
+ # A single account under a connection, from the `kind`-discriminated union used by `Connections_listConnectionAccounts`. Use `kind` to determine which schema is present. `investment`, `deposit`, and `line_of_credit` are implemented today.
15
15
  module ConnectionAccount
16
16
  class << self
17
17
  # List of class defined in oneOf (OpenAPI v3)
18
18
  def openapi_one_of
19
19
  [
20
20
  :'DepositAccount',
21
- :'InvestmentAccount'
21
+ :'InvestmentAccount',
22
+ :'LineOfCreditAccount'
22
23
  ]
23
24
  end
24
25
 
@@ -31,7 +32,8 @@ module SnapTrade
31
32
  def openapi_discriminator_mapping
32
33
  {
33
34
  :'deposit' => :'DepositAccount',
34
- :'investment' => :'InvestmentAccount'
35
+ :'investment' => :'InvestmentAccount',
36
+ :'line_of_credit' => :'LineOfCreditAccount'
35
37
  }
36
38
  end
37
39
 
@@ -11,7 +11,7 @@ require 'date'
11
11
  require 'time'
12
12
 
13
13
  module SnapTrade
14
- # Contains status updates for the account sync process between SnapTrade and the institution, used by `InvestmentAccount` in `Connections_listConnectionAccounts`. Each property is optional -- an institution may not report sync status for every data type. `orders`/`positions`/`balances` are the timestamp of the last successful sync of that data type (null if never synced). See `DepositAccountSyncStatus` for the deposit-account counterpart, which omits `orders`/`positions` since deposit accounts don't place orders or hold positions.
14
+ # Contains status updates for the account sync process between SnapTrade and the institution, used by `InvestmentAccount` in `Connections_listConnectionAccounts`. Each property is optional -- an institution may not report sync status for every data type. `orders`/`positions`/`balances` are the timestamp of the last successful sync of that data type (null if never synced). See `DepositAccountSyncStatus`/`LineOfCreditAccountSyncStatus` for the deposit/line-of-credit counterparts, which omit `orders`/`positions` since those account kinds don't place orders or hold positions.
15
15
  class ConnectionAccountSyncStatus
16
16
  attr_accessor :transactions
17
17
 
@@ -11,7 +11,7 @@ require 'date'
11
11
  require 'time'
12
12
 
13
13
  module SnapTrade
14
- # Net value of the account -- cash balance for deposit accounts. Shared across all account kinds so that, e.g., a future `line_of_credit` account can report a negative net value here. Null when unknown (e.g. a real-time fetch failed and no cached value exists).
14
+ # Net value of the account -- cash balance for deposit accounts. Shared across all account kinds -- negative for `line_of_credit` accounts, representing money owed. Null when unknown (e.g. a real-time fetch failed and no cached value exists).
15
15
  class DepositAccountNetValue
16
16
  attr_accessor :amount
17
17
 
@@ -11,7 +11,7 @@ require 'date'
11
11
  require 'time'
12
12
 
13
13
  module SnapTrade
14
- # Net value of the account -- total market value for investment accounts. Shared across all account kinds so that, e.g., a future `line_of_credit` account can report a negative net value here. Null when unknown (e.g. a real-time fetch failed and no cached value exists).
14
+ # Net value of the account -- total market value for investment accounts. Shared across all account kinds -- negative for `line_of_credit` accounts, representing money owed. Null when unknown (e.g. a real-time fetch failed and no cached value exists).
15
15
  class InvestmentAccountNetValue
16
16
  attr_accessor :amount
17
17