SnapTrade.Net
4.0.5
.NET 5.0
.NET Standard 2.0
dotnet add package SnapTrade.Net --version 4.0.5
NuGet\Install-Package SnapTrade.Net -Version 4.0.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SnapTrade.Net" Version="4.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SnapTrade.Net --version 4.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SnapTrade.Net, 4.0.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SnapTrade.Net as a Cake Addin
#addin nuget:?package=SnapTrade.Net&version=4.0.5
// Install SnapTrade.Net as a Cake Tool
#tool nuget:?package=SnapTrade.Net&version=4.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SnapTrade.Net - C#
Connect brokerage accounts to your app for live positions and trading
Frameworks supported
- .NET Core >=1.0
- .NET Framework >=4.6
- Mono/Xamarin >=vNext
Installation
Using the .NET Core command-line interface (CLI) tools:
dotnet add package SnapTrade.Net
Using the NuGet Command Line Interface (CLI):
nuget install SnapTrade.Net
Using the Package Manager Console:
Install-Package SnapTrade.Net
From within Visual Studio:
- Open the Solution Explorer.
- Right-click on a project within your solution.
- Click on Manage NuGet Packages...
- Click on the Browse tab and search for "SnapTrade.Net".
- Click on the "SnapTrade.Net" package, select the appropriate version in the right-tab and click Install.
Getting Started
using System;
using System.Collections.Generic;
using System.Diagnostics;
using SnapTrade.Net.Client;
using SnapTrade.Net.Model;
namespace Example
{
public class GetAllUserHoldingsExample
{
public static void Main()
{
Snaptrade client = new Snaptrade();
// Configure custom BasePath if desired
// client.SetBasePath("https://api.snaptrade.com/api/v1");
client.SetClientId(System.Environment.GetEnvironmentVariable("SNAPTRADE_CLIENT_ID"));
client.SetConsumerKey(System.Environment.GetEnvironmentVariable("SNAPTRADE_CONSUMER_KEY"));
var userId = "userId_example";
var userSecret = "userSecret_example";
var brokerageAuthorizations = "917c8734-8470-4a3e-a18f-57c3f2ee6631"; // Optional. Comma seperated list of authorization IDs (only use if filtering is needed on one or more authorizations). (optional)
try
{
// List all accounts for the user, plus balances, positions, and orders for each account.
List<AccountHoldings> result = client.AccountInformation.GetAllUserHoldings(userId, userSecret, brokerageAuthorizations);
Console.WriteLine(result);
}
catch (ApiException e)
{
Console.WriteLine("Exception when calling AccountInformationApi.GetAllUserHoldings: " + e.Message);
Console.WriteLine("Status Code: "+ e.ErrorCode);
Console.WriteLine(e.StackTrace);
}
catch (ClientException e)
{
Console.WriteLine(e.Response.StatusCode);
Console.WriteLine(e.Response.RawContent);
Console.WriteLine(e.InnerException);
}
}
}
}
Documentation for API Endpoints
All URIs are relative to https://api.snaptrade.com/api/v1
Class | Method | HTTP request | Description |
---|---|---|---|
AccountInformationApi | GetAllUserHoldings | GET /holdings | List all accounts for the user, plus balances, positions, and orders for each account. |
AccountInformationApi | GetUserAccountBalance | GET /accounts/{accountId}/balances | List account balances |
AccountInformationApi | GetUserAccountDetails | GET /accounts/{accountId} | Return details of a specific investment account |
AccountInformationApi | GetUserAccountOrders | GET /accounts/{accountId}/orders | List account orders |
AccountInformationApi | GetUserAccountPositions | GET /accounts/{accountId}/positions | List account positions |
AccountInformationApi | GetUserHoldings | GET /accounts/{accountId}/holdings | List balances, positions and orders for the specified account |
AccountInformationApi | ListUserAccounts | GET /accounts | List accounts |
AccountInformationApi | UpdateUserAccount | PUT /accounts/{accountId} | Update details of an investment account |
APIStatusApi | Check | GET / | Get API Status |
AuthenticationApi | DeleteSnapTradeUser | DELETE /snapTrade/deleteUser | Delete SnapTrade user |
AuthenticationApi | GetUserJWT | GET /snapTrade/encryptedJWT | Generate encrypted JWT token |
AuthenticationApi | ListSnapTradeUsers | GET /snapTrade/listUsers | List SnapTrade users |
AuthenticationApi | LoginSnapTradeUser | POST /snapTrade/login | Login user & generate connection link |
AuthenticationApi | RegisterSnapTradeUser | POST /snapTrade/registerUser | Create SnapTrade user |
ConnectionsApi | DetailBrokerageAuthorization | GET /authorizations/{authorizationId} | Get brokerage authorization details |
ConnectionsApi | ListBrokerageAuthorizations | GET /authorizations | List all brokerage authorizations for the user |
ConnectionsApi | RemoveBrokerageAuthorization | DELETE /authorizations/{authorizationId} | Delete brokerage authorization |
ConnectionsApi | SessionEvents | GET /sessionEvents | List all session events for the partner |
ErrorLogsApi | ListUserErrors | GET /snapTrade/listUserErrors | Retrieve error logs on behalf of your SnapTrade users |
OptionsApi | GetOptionStrategy | POST /accounts/{accountId}/optionStrategy | Creates an option strategy object that will be used to place an option strategy order |
OptionsApi | GetOptionsChain | GET /accounts/{accountId}/optionsChain | Get the options chain |
OptionsApi | GetOptionsStrategyQuote | GET /accounts/{accountId}/optionStrategy/{optionStrategyId} | Get latest market data of option strategy |
OptionsApi | ListOptionHoldings | GET /accounts/{accountId}/options | Get the options holdings in the account |
OptionsApi | PlaceOptionStrategy | POST /accounts/{accountId}/optionStrategy/{optionStrategyId}/execute | Place an option strategy order on the brokerage |
ReferenceDataApi | GetCurrencyExchangeRatePair | GET /currencies/rates/{currencyPair} | Return the exchange rate of a currency pair |
ReferenceDataApi | GetPartnerInfo | GET /snapTrade/partners | Get metadata related to Snaptrade partner |
ReferenceDataApi | GetSecurityTypes | GET /securityTypes | List of all security types |
ReferenceDataApi | GetStockExchanges | GET /exchanges | List exchanges |
ReferenceDataApi | GetSymbols | POST /symbols | Search for symbols |
ReferenceDataApi | GetSymbolsByTicker | GET /symbols/{ticker} | Get details of a symbol by the ticker |
ReferenceDataApi | ListAllBrokerageAuthorizationType | GET /brokerageAuthorizationTypes | List of all brokerage authorization types |
ReferenceDataApi | ListAllBrokerages | GET /brokerages | List brokerages |
ReferenceDataApi | ListAllCurrencies | GET /currencies | List currencies |
ReferenceDataApi | ListAllCurrenciesRates | GET /currencies/rates | List currency exchange rates |
ReferenceDataApi | SymbolSearchUserAccount | POST /accounts/{accountId}/symbols | Search for symbols available in an account |
TradingApi | CancelUserAccountOrder | POST /accounts/{accountId}/orders/cancel | Cancel open order in account |
TradingApi | GetOrderImpact | POST /trade/impact | Check impact of trades on account. |
TradingApi | GetUserAccountQuotes | GET /accounts/{accountId}/quotes | Get symbol quotes |
TradingApi | PlaceForceOrder | POST /trade/place | Place a trade with NO validation. |
TradingApi | PlaceOCOOrder | POST /trade/oco | Place a OCO (One Cancels Other) order |
TradingApi | PlaceOrder | POST /trade/{tradeId} | Place order |
TransactionsAndReportingApi | GetActivities | GET /activities | Get transaction history for a user |
TransactionsAndReportingApi | GetReportingCustomRange | GET /performance/custom | Get performance information for a specific timeframe |
Documentation for Models
- Account
- AccountBalance
- AccountBalanceTotal
- AccountHoldings
- AccountHoldingsAccount
- AccountOrderRecord
- AccountOrderRecordStatus
- AccountSimple
- AccountSyncStatus
- Amount
- AuthenticationLoginSnapTradeUser200Response
- Balance
- Brokerage
- BrokerageAuthorization
- BrokerageAuthorizationType
- BrokerageAuthorizationTypeReadOnly
- BrokerageAuthorizationTypeReadOnlyBrokerage
- BrokerageSymbol
- BrokerageSymbolOptionSymbol
- BrokerageSymbolSymbol
- BrokerageType
- CalculatedTrade
- CashRestriction
- ConnectionsSessionEvents200ResponseInner
- Currency
- DeleteUserResponse
- DividendAtDate
- EncryptedResponse
- EncryptedResponseEncryptedMessageData
- Exchange
- ExchangeRatePairs
- ExcludedAsset
- JWT
- LoginRedirectURI
- ManualTrade
- ManualTradeAndImpact
- ManualTradeBalance
- ManualTradeForm
- ManualTradeSymbol
- Model400FailedRequestResponse
- Model401FailedRequestResponse
- Model403FailedRequestResponse
- Model404FailedRequestResponse
- Model500UnexpectedExceptionResponse
- ModelAction
- ModelAssetClass
- ModelAssetClassDetails
- ModelAssetClassTarget
- ModelPortfolio
- ModelPortfolioAssetClass
- ModelPortfolioDetails
- ModelPortfolioSecurity
- MonthlyDividends
- NetContributions
- NetDividend
- OptionChainInner
- OptionChainInnerChainPerRootInner
- OptionChainInnerChainPerRootInnerChainPerStrikePriceInner
- OptionLeg
- OptionStrategy
- OptionStrategyLegsInner
- OptionsGetOptionStrategyRequest
- OptionsHoldings
- OptionsPlaceOptionStrategyRequest
- OptionsPosition
- OptionsPositionCurrency
- OptionsSymbol
- OrderType
- PartnerData
- PastValue
- PerformanceCustom
- PortfolioGroup
- PortfolioGroupInfo
- PortfolioGroupPosition
- PortfolioGroupSettings
- Position
- PositionSymbol
- RedirectTokenandPin
- SecurityType
- SessionEvent
- SnapTradeAPIDisclaimerAcceptStatus
- SnapTradeHoldingsAccount
- SnapTradeHoldingsAccountAccountId
- SnapTradeHoldingsTotalValue
- SnapTradeLoginUserRequestBody
- SnapTradeRegisterUserRequestBody
- Status
- StrategyImpact
- StrategyImpactLegsInner
- StrategyOrderPlace
- StrategyOrderPlaceOrdersInner
- StrategyOrderPlaceOrdersInnerLegsInner
- StrategyOrderRecord
- StrategyQuotes
- StrategyQuotesGreek
- SubPeriodReturnRate
- Symbol
- SymbolQuery
- SymbolsQuotesInner
- TargetAsset
- TimeInForce
- Trade
- TradeExecutionStatus
- TradeImpact
- TradingCancelUserAccountOrderRequest
- TradingPlaceOCOOrderRequest
- TransactionsStatus
- USExchange
- UnderlyingSymbol
- UniversalActivity
- UniversalSymbol
- UniversalSymbolTicker
- UserErrorLog
- UserIDandSecret
- UserSettings
Dependencies
- RestSharp - 106.13.0 or later
- Json.NET - 13.0.1 or later
- JsonSubTypes - 1.8.0 or later
- System.ComponentModel.Annotations - 5.0.0 or later
Author
This C# package is automatically generated by Konfig
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- JsonSubTypes (>= 1.9.0)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- RestSharp (>= 108.0.2)
- System.ComponentModel.Annotations (>= 5.0.0)
-
net5.0
- JsonSubTypes (>= 1.9.0)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- RestSharp (>= 108.0.2)
- System.ComponentModel.Annotations (>= 5.0.0)
-
net7.0
- JsonSubTypes (>= 1.9.0)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- RestSharp (>= 108.0.2)
- System.ComponentModel.Annotations (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
4.0.5 | 66 | 11/15/2023 |
4.0.4 | 64 | 11/8/2023 |
4.0.3 | 91 | 11/1/2023 |
4.0.2 | 96 | 10/18/2023 |
4.0.1 | 110 | 10/13/2023 |
4.0.0 | 111 | 10/7/2023 |
3.33.2 | 162 | 9/26/2023 |
3.33.1 | 100 | 9/19/2023 |
3.33.0 | 193 | 9/2/2023 |
3.32.1 | 111 | 8/31/2023 |
3.32.0 | 122 | 8/16/2023 |
3.31.0 | 113 | 8/14/2023 |
3.30.0 | 147 | 8/11/2023 |
3.29.0 | 125 | 8/9/2023 |
3.28.0 | 129 | 8/9/2023 |
3.27.0 | 129 | 8/4/2023 |
3.26.0 | 127 | 8/2/2023 |
3.25.0 | 137 | 7/31/2023 |
3.24.0 | 127 | 7/27/2023 |
3.23.0 | 124 | 7/27/2023 |
3.22.0 | 129 | 7/18/2023 |
3.21.0 | 136 | 6/22/2023 |
3.20.0 | 120 | 6/13/2023 |
3.19.0 | 143 | 6/7/2023 |
3.18.0 | 146 | 6/5/2023 |
3.17.0 | 195 | 6/1/2023 |
3.15.0 | 126 | 5/29/2023 |
3.14.0 | 117 | 5/26/2023 |
3.13.0 | 3,203 | 5/18/2023 |
3.12.0 | 119 | 5/16/2023 |
3.11.0 | 109 | 5/15/2023 |
3.10.0 | 137 | 5/9/2023 |
3.9.0 | 425 | 4/28/2023 |
3.8.0 | 151 | 4/28/2023 |
3.7.0 | 321 | 4/23/2023 |
3.6.0 | 150 | 4/21/2023 |
3.5.0 | 161 | 4/20/2023 |
3.4.0 | 152 | 4/18/2023 |
3.3.0 | 147 | 4/17/2023 |
3.2.0 | 181 | 4/15/2023 |
3.1.0 | 158 | 4/15/2023 |
3.0.0 | 162 | 4/12/2023 |
2.0.0 | 186 | 4/11/2023 |
1.3.0 | 193 | 4/6/2023 |
1.2.0 | 167 | 4/6/2023 |
1.1.0 | 196 | 4/6/2023 |
1.0.0 | 188 | 4/6/2023 |
Minor update