C# wrapper for the MX Atrium API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Atrium - the C# library for the MX API

The MX Atrium API supports over 48,000 data connections to thousands of financial institutions. It provides secure access to your users' accounts and transactions with industry-leading cleansing, categorization, and classification. Atrium is designed according to resource-oriented REST architecture and responds with JSON bodies and HTTP response codes. Use Atrium's development environment, vestibule.mx.com, to quickly get up and running. The development environment limits are 100 users, 25 members per user, and access to the top 15 institutions. Contact MX to purchase production access.

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)


The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes


Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using Atrium.Api;
using Atrium.Client;
using Atrium.Model;

Example Usage

Please see docs directory for additional endpoint examples

using System;
using Atrium.Api;
using Atrium.Model;

namespace Example
    public class Example
        public void main()
            var client = new AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID");

            var accountGuid = "ACT-123";  // string | The unique identifier for an `account`.
            var userGuid = "USR-123";  // string | The unique identifier for a `user`.
            var fromDate = "2016-09-20";  // string | Filter transactions from this date. (optional) 
            var toDate = "2016-10-20";  // string | Filter transactions to this date. (optional) 
            var page = 1;  // int? | Specify current page. (optional) 
            var recordsPerPage = 12;  // int? | Specify records per page. (optional) 

                // List account transactions
                TransactionsResponseBody response = client.accounts.ListAccountTransactions(accountGuid, userGuid, fromDate, toDate, page, recordsPerPage);
            catch (Exception e)
                Console.WriteLine("Exception when calling AccountsApi.ListAccountTransactions: " + e.Message );


Documentation for API Endpoints

All URIs are relative to https://vestibule.mx.com

Class Method HTTP request Description
AccountsApi ListAccountTransactions GET /users/{user_guid}/accounts/{account_guid}/transactions List account transactions
AccountsApi ListUserAccounts GET /users/{user_guid}/accounts List accounts for a user
AccountsApi ReadAccount GET /users/{user_guid}/accounts/{account_guid} Read an account
AccountsApi ReadAccountByMemberGUID GET /users/{user_guid}/members/{member_guid}/accounts/{account_guid} Read an account
ConnectWidgetApi GetConnectWidget POST /users/{user_guid}/connect_widget_url Embedding in a website
HoldingsApi ListHoldings GET /users/{user_guid}/holdings List holdings
HoldingsApi ListHoldingsByAccount GET /users/{user_guid}/accounts/{account_guid}/holdings List holdings by account
HoldingsApi ListHoldingsByMember GET /users/{user_guid}/members/{member_guid}/holdings List holdings by member
HoldingsApi ReadHolding GET /users/{user_guid}/holdings/{holding_guid} Read holding
IdentityApi IdentifyMember POST /users/{user_guid}/members/{member_guid}/identify Identify
IdentityApi ListAccountOwners GET /users/{user_guid}/members/{member_guid}/account_owners List member account owners
InstitutionsApi ListInstitutions GET /institutions List institutions
InstitutionsApi ReadInstitution GET /institutions/{institution_code} Read institution
InstitutionsApi ReadInstitutionCredentials GET /institutions/{institution_code}/credentials Read institution credentials
MembersApi AggregateMember POST /users/{user_guid}/members/{member_guid}/aggregate Aggregate member
MembersApi CreateMember POST /users/{user_guid}/members Create member
MembersApi DeleteMember DELETE /users/{user_guid}/members/{member_guid} Delete member
MembersApi ExtendHistory POST /users/{user_guid}/members/{member_guid}/extend_history Extend history
MembersApi ListMemberAccounts GET /users/{user_guid}/members/{member_guid}/accounts List member accounts
MembersApi ListMemberCredentials GET /users/{user_guid}/members/{member_guid}/credentials List member credentials
MembersApi ListMemberMFAChallenges GET /users/{user_guid}/members/{member_guid}/challenges List member MFA challenges
MembersApi ListMemberTransactions GET /users/{user_guid}/members/{member_guid}/transactions List member transactions
MembersApi ListMembers GET /users/{user_guid}/members List members
MembersApi ReadMember GET /users/{user_guid}/members/{member_guid} Read member
MembersApi ReadMemberStatus GET /users/{user_guid}/members/{member_guid}/status Read member connection status
MembersApi ResumeMember PUT /users/{user_guid}/members/{member_guid}/resume Resume aggregation from MFA
MembersApi UpdateMember PUT /users/{user_guid}/members/{member_guid} Update member
MerchantsApi ReadMerchant GET /merchants/{merchant_guid} Read merchant
StatementsApi FetchStatements POST /users/{user_guid}/members/{member_guid}/fetch_statements Fetch statements
StatementsApi ListMemberStatements GET /users/{user_guid}/members/{member_guid}/statements List member statements
TransactionsApi CleanseAndCategorizeTransactions POST /cleanse_and_categorize Categorize transactions
TransactionsApi ListUserTransactions GET /users/{user_guid}/transactions List transactions for a user
TransactionsApi ReadTransaction GET /users/{user_guid}/transactions/{transaction_guid} Read a transaction
UsersApi CreateUser POST /users Create user
UsersApi DeleteUser DELETE /users/{user_guid} Delete user
UsersApi ListUsers GET /users List users
UsersApi ReadUser GET /users/{user_guid} Read user
UsersApi UpdateUser PUT /users/{user_guid} Update user
VerificationApi ListAccountNumbers GET /users/{user_guid}/members/{member_guid}/account_numbers Read account numbers
VerificationApi ListAccountNumbersByAccount GET /users/{user_guid}/accounts/{account_guid}/account_numbers Read account numbers by account GUID
VerificationApi VerifyMember POST /users/{user_guid}/members/{member_guid}/verify Verify

Documentation for Models