Atrium API
Overview
A member represents the relationship between a user and an institution, and creating one is how you connect one to the other. Thus, multiple members may be attached to a single user, e.g., one for their bank, another for their mortgage provider, another for their credit card provider, etc.
info
MX will automatically update each member every 24 hours using the credentials stored in the member object — unless the associated user has been disabled. This ensures that accurate account and transaction data are regularly pulled in.
warning
A user is limited to 25 members. Error 405 Method Not Allowed will be returned if this limit is exceeded.
Member Fields
| Field Name | Data Type | Description |
|---|---|---|
aggregated_at | String | The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component. A job will automatically be started when a member is created or its credentials are updated, unless the skip_aggregation parameter is used. Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget. A job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history.If a member is deleted and then re-created with the skip_aggregation parameter set to true or if it is re-created within the throttle window (typically three hours), the previous value will be returned. |
connection_status | String | The status of a member's aggregation. |
guid | String | A unique identifier for the member. Defined by MX. |
identifier | String | A unique, enforced identifier for the member. Defined by you. |
institution_code | String | Unique identifier for the institution. Defined by MX. |
is_being_aggregated | Boolean | This value is true if the member is being aggregated at the time of the request and false otherwise. |
metadata | String | Additional information you can store on this member. |
name | String | The name of the member. If omitted as a parameter when creating the member, the institution name within the MX platform will be used, e.g., "Chase Bank." |
oauth_window_uri | String | A URI which takes the end user to a UI for the registered OAuth application. This field only appears in a member response when creating an OAuth member or when requesting a URI with the generate OAuth window URI endpoint. |
status | String | The status of a member's aggregation. This field will soon be deprecated. Use connection_status above as more detailed indicator of a member's status. |
successfully_aggregated_at | String | The date and time the member was successfully aggregated. |
user_guid | String | A unique identifier for the user. Defined by MX. |
Connection Statuses
| Connection Status ID (Integer) | Connection Status (String) | Definition | Next Steps | End-User Message |
|---|---|---|---|---|
| null | null | The member exists but does not have credentials. | None. | None. |
| 0 | CREATED | The member is new and has not yet been aggregated. | Aggregate the member once the end user logs in; poll for a status update. | Connecting to [...] ... |
| 1 | PREVENTED | MX is preventing aggregation until the member’s credentials have been updated. | Display end-user message; after end user has updated their credentials, aggregate again. | The last 3 attempts to connect have failed. Please re-enter your credentials to continue importing data. |
| 2 | DENIED | The credentials provided for the member were invalid. | Display end-user message; after end user has updated their credentials, aggregate again. | The credentials entered do not match your credentials at this institution. Please re-enter your credentials to continue importing data. |
| 3 | CHALLENGED | The member has been challenged by multi-factor authentication. | Display end-user message; follow MFA pathway; after the user answers MFA, poll for a status update. | To authenticate your connection to [...], please answer the following challenge(s). |
| 4 | REJECTED | An MFA challenge was answered incorrectly. | Display end-user message; another challenge may follow or aggregation may need to be restarted. | The answer or answers provided were incorrect. Please try again. |
| 5 | LOCKED | The financial institution is preventing authentication. The end user must contact the financial institution. | Display end-user message. | Your account is locked. Please log in to the appropriate website for [...] and follow the steps to resolve the issue. |
| 6 | CONNECTED | The member was successfully authenticated and data is now aggregating. | Display the account as having been connected. | Connected to [...] ... |
| 7 | IMPEDED | The end user’s attention is required at their online banking institution, e.g., there is a marketing message that must be viewed, terms and conditions that must be accepted, etc. | Display end-user message. | Your attention is needed at this institution's website. Please log in to the appropriate website for [...] and follow the steps to resolve the issue. |
| 8 | RECONNECTED | The member has been migrated to a new data source and aggregation is likely to trigger one-time password MFA. MX will not perform background aggregation in order to avoid unnecessarily disruptive texts, emails, etc. The member must be re-aggregated in the foreground with the end user present. | Aggregate the member once the end user logs in; poll for a status update. | Reconnecting to [...] ... |
| 9 | DEGRADED | Aggregation has failed at least three times within a short period of time. | Display end-user message. | We are upgrading this connection. Please try again later. |
| 10 | DISCONNECTED | Aggregation has failed at least three times and has not succeeded for at least two weeks. | Display end-user message. | It looks like your data from [...] cannot be imported. We are working to resolve the issue. |
| 11 | DISCONTINUED | The connection to this financial institution is no longer available. | Display end-user message. | Connections to this institution are no longer supported. You may create a manual account and use manual transactions to track data for this account. |
| 12 | CLOSED | The end user, MX, the client, or a partner has marked the member as closed. | Display end-user message. | This connection has been closed. You may track this account manually. If reopened, you may connect the institution again. |
| 13 | DELAYED | Aggregating the member has taken longer than expected and it has not yet been connected. | Display end-user message; poll for a status update. | Importing your data from [...] may take a while. Please check back later. |
| 14 | FAILED | Aggregation failed without being connected. | Display end-user message; try aggregating again later. | There was a problem validating your credentials with [...]. Please try again later. |
| 15 | UPDATED | The member has been updated — i.e., credentials have been updated — but it has not yet been connected. | Aggregate the member once the end user logs in; poll for a status update. | Connecting to [...] ... |
| 16 | DISABLED | Aggregation has been momentarily paused, but the member is still connected. | Display end-user message. | Importing data from this institution has been disabled. Please contact us if you believe it has been disabled in error. |
| 17 | IMPORTED | MX does not have credentials and will not try to aggregate the member until the end user provides credentials. | Display end-user message; re-aggregate after the end user updates credentials. | You must re-authenticate before your data can be imported. Please enter your credentials for [...]. |
| 18 | RESUMED | The answer to an MFA challenge was received, but it is not yet clear whether it was correct. | Poll for a status update. | Connecting to [...] ... |
| 19 | EXPIRED | The MFA answer was not provided within the time allotted by the financial institution. | Display end-user message; re-aggregate the member if the end user initiates it. | The answer or answers were not provided in time. Please try again. |
| 20 | IMPAIRED | The member is missing some or all credentials needed in order to connect. | Display end-user message; re-aggregate after the end user updates credentials. | You must re-authenticate before your data can be imported. Please enter your credentials for [...]. |
| 21 | PENDING | The member is using OAuth to authenticate credentials and still needs to go through the financial institution's OAuth process. A PENDING status will appear only on members less than one hour old with is_oauth: true. Members that stay PENDING longer than one hour will be deleted by MX. | Redirect the end user to the oauth_window_uri provided in the create member response, or request one through the generate OAuth window URI endpoint. | None. |
Status definitions (soon to be deprecated)
status | Description | Next Steps |
|---|---|---|
INITIATED | Aggregation has started. | |
REQUESTED | Request to get the data has started. | |
CHALLENGED | MFA challenged returned. | Resume member with updated credentials. |
RECEIVED | Received response back from the request. | |
TRANSFERRED | Start saving the data into the MX Platform. | |
PROCESSED | Data has been processed into the MX Platform. | |
COMPLETED | Aggregation is complete. | List member accounts and transactions. |
PREVENTED | Aggregation was prevented due to too many login attempts. | List member credentials, update member. |
DENIED | Authentication failed due to invalid credentials or incorrect MFA answer. | List member credentials, update member. If MFA was answered incorrectly, restart aggregation. |
HALTED | An exception occurred that was unrelated to authentication. | Retry aggregation tomorrow. If the member hits the HALTED status for 3 or more days, leave the member in its current state and contact support by submitting a ticket here. |