Skip to main content

Members Overview

Members represent the connection between an end user and a financial institution. This institution may represent your institution or another one from which MX is aggregating data.

Member Accounts

A member can have multiple accounts. For instance, an end user might have both a savings account and a checking account at Wells Fargo. In this case, two separate account objects will exist on the MX platform, both associated with a single member representing the Wells Fargo connection.

Every account belongs to exactly one member.

Member Creation

Members can be created by you when using our API or by end users when using the Connect Widget.

note

Duplicate members aren’t allowed on the MX platform. A duplicate member is when a user attempts to connect to an institution they’re already connected to using the same credentials.

Member Aggregation

Aggregation is the process of gathering data for a member from its associated institution. To gather data from an institution, the user must authenticate with the institution using one of the following authentication methods:

  • OAuth: The end user connects to an institution using OAuth. They must be present until the OAuth connection completes.
  • Credentials: The end user connects to an institution using their credentials for that institution.

Some institutions exclusively support OAuth, while others may not support it at all. Each institution has a supports_oauth field.

The connection_status of a member reflects the state of aggregation with a specific institution.

For a detailed explanation of possible statuses, their meanings, and recommended actions, see Member Connection Statuses.

Member Connection Statuses

The connection_status indicates the state of a member's aggregation, meaning the state of a user connecting to a particular institution.

The connection_status field indicates the current state of an aggregation, meaning the state of a user connecting to a particular institution. For instance:

  • CREATED means the member has just been created.
  • CHALLENGED means the process has run into multifactor authentication.
  • FAILED means the process was unsuccessful.

The connection statuses CREATED, UPDATED, DELAYED, and RESUMED represent transient states for different points in the process and don't require a specific action or end-user input. They may, however, require you to keep making read requests on the member until an actionable status or an end state appears.

The connection statuses PREVENTED, DENIED, IMPEDED, IMPAIRED, REJECTED, EXPIRED, LOCKED, IMPORTED, DISABLED, DISCONTINUED, and CLOSED represent end states that require you to start a new connection, and possibly end-user input, for future success.

Here are all the member statuses you might encounter, what they mean, and what to do about them.

Integer ValueStatusDefinitionNext StepsEnd-User Message
nullnullThe member exists but does not have credentials. A member that does not aggregate (e.g., a manual member) will always have this status.None.None.
0CREATEDThe 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 [...] ...
1PREVENTEDThe end user's entered credentials have failed to connect three times in a row. MX has locked the account to avoid locking the end user out of their account on the financial institution's website. The end user must reenter their username and password to continue updating their data.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.
2DENIEDThe 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.
3CHALLENGEDThe connection is waiting for the end user to complete a multifactor authentication (MFA) challenge. This is not an error and will change to an EXPIRED status if the end user fails to complete MFA.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).
4REJECTEDAn 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.
5LOCKEDThe financial institution is preventing authentication. The end user must go to the FI's website or 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.
6CONNECTEDThe member was successfully authenticated and data is now aggregating.Display the account as having been connected.Connected to [...] ...
7IMPEDEDThe 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.
8RECONNECTEDThe 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 [...] ...
9DEGRADEDAggregation has failed at least three times within a short period of time. This could be due to website maintenance or other factors that are preventing account aggregation.Display end-user message.We are upgrading this connection. Please try again later.
10DISCONNECTEDAggregation 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.
11DISCONTINUEDThe 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.
12CLOSEDThe 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.
13DELAYEDAggregating the member has taken longer than expected and it has not yet been connected. This can be due to reasons outside of MX's control, such as internet bandwidth, problems at the financial institution's website, and other factors.Display end-user message; poll for a status update.Importing your data from [...] may take a while. Please check back later.
14FAILEDAggregation failed without being connected. Most aggregation issues are temporary and self-resolve after 24 hours.Display end-user message; try aggregating again later.There was a problem validating your credentials with [...]. Please try again later.
15UPDATEDThe 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 [...] ...
16DISABLEDAggregation 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.
17IMPORTEDMX 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 [...].
18RESUMEDThe answer to an MFA challenge was received, but it is not yet clear whether it was correct.Poll for a status update.Connecting to [...] ...
19EXPIREDThe 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.
20IMPAIREDThe 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 [...].
21PENDINGThe 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.

Member Fields

FieldData TypeDefinition
aggregated_atStringThe 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.
background_aggregation_is_disabledBooleanThis indicates whether background aggregation is disabled for the member.
connection_statusStringThis indicates the state of a member's aggregation.
connection_status_messageStringA message that can be displayed to the user to help them navigate the connection and aggregation process.
challengesArrayAn array of challenge objects that may be required during the aggregation process. Only present when checking member status.
guidStringThe unique identifier for the member. Defined by MX.
has_processed_account_numbers (Deprecated)BooleanThis indicates whether account numbers have been processed for the member. Only present when checking member status.
has_processed_accounts (Deprecated)BooleanThis indicates whether accounts have been processed for the member. Only present when checking member status.
has_processed_transactions (Deprecated)BooleanThis indicates whether transactions have been processed for the member. Only present when checking member status.
idStringThe partner-defined unique identifier for the member. It must be unique for all members belonging to all users within the client.
institution_codeStringThe unique code for the institution associated with the member. Defined by MX.
institution_guidStringThe unique identifier for the institution associated with the member. Defined by MX.
is_authenticatedBooleanThis indicates whether the member has been successfully authenticated with the institution. Only present when checking member status.
is_being_aggregatedBooleanThis indicates whether the member was being aggregated at the time of the request.
is_managed_by_userStringThis indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to false.
is_manualBooleanThis indicates whether the member is for manually created accounts.
is_oauthBooleanThis indicates whether the member uses OAuth to authenticate. Defaults to false.
metadataStringAdditional information you can store on this member.
most_recent_job_detail_codeString(Deprecated) This field is no longer used and will be removed at a future date.
most_recent_job_detail_textString(Deprecated) This field is no longer used and will be removed at a future date.
most_recent_job_guidStringThe unique identifier for the most recent job. Defined by MX.
nameStringThe name of the member.
needs_updated_credentialsStringInternal field used by MX in some circumstances. When set to true, MX will not attempt to aggregate the member. It will be set to false automatically when the member's credentials are updated.
oauth_window_uriStringWhen connecting a member using OAuth, this field will contain the URL to send the user to in order to authenticate, otherwise it will be blank.
successfully_aggregated_atStringThe date and time the member was last successfully aggregated.
use_casesArrayThe use case associated with the member. Valid values are PFM and MONEY_MOVEMENT. Only set this if you've met with MX and have opted in to using this field.
user_guidStringThe unique identifier for the user associated with the member. Defined by MX.
user_idStringThe unique partner-defined identifier for the user associated with the member.