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 separateaccount 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.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 use cases
You must work with MX to enable this feature.
use_cases field so each member is associated with a use case, PFM or MONEY_MOVEMENT. This lets you:
- Return only the data associated with a member’s use case.
- Filter a user’s data by a single use case, even if MX has data for other use cases.
PFM use case aggregate data as usual. MX’s Personal Finance Management and Financial Insights products show data only for members with the PFM use case.
Members with the MONEY_MOVEMENT use case don’t aggregate transaction data.
For how use cases affect the Connect Widget, see Member use cases in the Connect Widget. In the Connections Widget, set connections_use_case_filter to true so the widget shows only members with the use cases you set in the same request. For examples, see Filter Connections.
Required actions
MX enables this feature for you. For existing integrations, MX also backfills theuse_cases field on your existing members.
Set use_cases to PFM, MONEY_MOVEMENT, or both on each of these requests:
- Request Widget URL requests with a
widget_typeofconnect_widgetorconnections_widget - All Create Member requests
- All Update Member requests. Use Update Member to add, change, or remove a use case, but every member must keep at least one.
PFM use case. Otherwise, the request returns 403 Forbidden.
Filter by use case
The List Members, List Accounts, and List Transactions endpoints accept ause_case query parameter set to PFM or MONEY_MOVEMENT. For example:
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.
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 Fields
Member Connection Statuses
Theconnection_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:
CREATEDmeans the member has just been created.CHALLENGEDmeans the process has run into multifactor authentication.FAILEDmeans the process was unsuccessful.
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.
Institution Blocking Errors
Blocked requests return the error object used for failed requests. Create Member, Update Member, and account verification requests can be rejected before they start because of the institution’s status or the institution’s status for your client. A blocked request returns422 Unprocessable Entity with an error.type of unprocessable_entity_error, and the request isn’t processed. The error.message is written so you can display it to the end user.
These checks use the institution’s status at the time of the request. If MX discovers that the institution is unavailable while aggregating the member, the request isn’t blocked. Instead, the member’s
error field returns a code such as INSTITUTION_MAINTENANCE or INSTITUTION_UNAVAILABLE. See Member Connection Error Codes.
Member Connection Errors
When a member’s most recent aggregation fails, Read Member and Read Member Status include anerror field on the member object. For the error object returned when a request fails, see Errors.
The member’s error field is different from the error object returned when a request fails. A failed request returns a 4xx or 5xx HTTP status with a top-level error object that has message, status, and type fields. The member’s error field is returned in a successful response and explains why the member’s most recent aggregation didn’t succeed.
The error field is null unless the most recent aggregation failed for one of the reasons in Member Connection Error Codes. Keep using the member’s connection status to decide what to do next, as described in Member Connection Statuses. When error is present, use it for the specific reason and a message you can show the end user.
Member Error Fields
Member Connection Error Codes
The following error codes can be returned when aggregating a member.Localize Member Error Messages
Read Member and Read Member Status returnerror_message and user_message in the language set by the Accept-Language request header. Supported languages are English (en), Spanish (es), and French (fr). A regional variant uses its base language, so fr-CA returns French.
- If you send an unsupported language, messages are returned in English.
- If you don’t send the header, messages are returned in the default locale configured for your client, or in English if no default is configured.
locale field shows which language was returned.
Handle Member Connection Errors
- Check the member’s connection status and follow the next steps in Member Connection Statuses.
- If
erroris present, displayuser_messageto the end user. - Use
error_codefor application logic, such as starting OAuth reauthorization forREAUTHORIZATION_REQUIREDor prompting for new credentials forINVALID_CREDENTIALS. - Log
error_messagefor troubleshooting.

