canonical: https://jentic.com/apis/mx.com/mx

# MX Platform API

The MX Platform API aggregates financial data from tens of thousands of financial institutions and enriches it with categorization, merchant matching, and account verification. It covers user and member management, account and transaction sync, microdeposits, ACH return handling, managed institution data, transaction rule engines, tax document retrieval, and embeddable widget URLs. The 166 endpoints span the full lifecycle from connecting a user's bank to producing categorized, merchant-resolved transaction streams.

## For AI agents

Aggregate and enrich financial data from US financial institutions, manage members and accounts, list transactions, and generate connect widgets. Returns enriched transaction streams and verified account data across 166 endpoints.

## Scope

Does not handle card payment processing, merchant acquiring, or lending decisioning - use for bank data aggregation, account verification, and transaction enrichment only.

## Capabilities

- Connect a user to a financial institution and create a member with their credentials
- Sync accounts and transactions from a connected member
- Retrieve enriched transactions with category, merchant, and location metadata
- Generate Connect widget URLs to embed an institution-search and login flow
- Look up institutions and credential schemas from the supported catalog
- Manage transaction rules to override or refine automatic categorization
- Initiate and verify microdeposits for ACH account verification

## Use cases

### Personal Finance Aggregation

Aggregate balances and transactions across all of a user's bank, credit card, loan, and investment accounts. The MX Platform API handles institution connect via the Connect widget, member management, periodic account/transaction sync, and enrichment with categories and merchants. Personal finance products use this to render a single net worth and budgeting view from disparate institutions.

Example prompt: Generate a Connect widget URL for the user, then on completion call GET /institutions and the user's member endpoints to sync accounts and list enriched transactions.

### Account Verification with Microdeposits

Verify ownership of a US bank account using microdeposits before initiating a higher-value transfer. The microdeposits endpoints initiate two small deposits, accept the user's verification amounts, and return a verified account status. This is the standard pattern lending and payroll products use to confirm that a user controls the destination account.

Example prompt: Call POST on the microdeposits initiate endpoint with the user's account number and routing number, wait 1-2 business days, then submit the deposit amounts to verify ownership.

### ACH Return Tracking

Track and reconcile ACH returns when payments fail to settle. The /ach_returns endpoints expose returns by GUID and let products create return records as they arrive from the originating bank. Finance teams use this to surface failed payments quickly and trigger recovery flows for the underlying transaction.

Example prompt: Call GET /ach_returns to list pending returns, then GET /ach_returns/{ach_return_guid} to read the return reason for each and update the originating payment record.

### Transaction Categorization Overrides

Override default transaction categorization for a specific user or rule pattern. MX's enrichment automatically assigns categories like Groceries or Utilities, but users sometimes need custom buckets. The transaction rules endpoints let products define matchers and target categories that override the default mapping for that user's transactions.

Example prompt: Create a transaction rule that matches description containing 'COFFEE' and assigns the 'Coffee Habit' category, then verify recent transactions are recategorized.

### AI Agent Personal Finance Assistant

Power a Jentic-driven agent that answers natural-language questions about a user's spending and balances. The agent searches Jentic for 'list user transactions', loads the relevant member endpoint, and aggregates results into the answer. Jentic injects the bearer or basic credentials at execution time so the agent never holds raw banking credentials.

Example prompt: Through Jentic, search for 'list transactions for a member', load the operation, sync recent transactions, and return total spending in the Restaurants category for the last 30 days.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /institutions | List supported institutions |
| GET | /institutions/{institution_code} | Read a specific institution |
| POST | /authorization_code | Request an authorization code |
| GET | /ach_returns | List ACH returns |
| POST | /ach_returns | Create an ACH return record |
| GET | /categories/default | List default transaction categories |
| GET | /merchants | List merchants |
| GET | /merchants/{merchant_guid} | Read a merchant |

## Key resources

- **Members** — Manage a user's connection to a financial institution
- **Accounts** — Read accounts attached to a member
- **Transactions** — List enriched transactions with category and merchant
- **Institutions** — Browse the catalog of supported institutions and their credential schemas
- **Connect Widget** — Generate URLs to embed the institution-connect flow
- **ACH Returns** — Track and create ACH return records
- **Microdeposits** — Initiate and verify microdeposit account verification
- **Transaction Rules** — Manage user-defined categorization overrides
- **Managed Data** — Manage manually-added accounts, transactions, and institutions

## Why Jentic

- **Setup:** Wiring the MX Platform API by hand means handling its two auth modes, bearer and basic, choosing between the integration and production host, and navigating a large banking data surface yourself. Through Jentic you install once, import the MX Platform API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** MX puts resource ids like the institution code and merchant guid in the URL path (/institutions/{institution_code}, /merchants/{merchant_guid}), so a rule can pin your agent to one such resource. You choose the operations it may call, so a write call like creating an ACH return is not included unless you add it.
- **Credential handling:** Your MX bearer and basic credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list user transactions' or 'verify a bank account', and Jentic returns the matching MX operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Plaid API** — Plaid is the largest US bank data aggregator and the most common alternative to MX for the same use cases.
- **Yodlee API** — Yodlee aggregates bank, brokerage, and credit data across the US and international markets.
- **Salt Edge API** — Salt Edge focuses on European Open Banking PSD2 connectivity, complementing US-focused MX.

## FAQ

### What authentication does the MX Platform API use?

MX supports both HTTP bearer authentication and HTTP basic authentication using a client ID and API key issued from the MX dashboard. Through Jentic, both credential types are stored in your Jentic One instance and applied to requests at execution time, so agent code never sees the raw credentials.

### Can I connect a user's bank account with the MX Platform API?

Yes. Generate a Connect widget URL via the widgets endpoints, render the URL in your app, and let the user pick their institution and authenticate. MX returns a member object that subsequent /accounts and /transactions calls reference.

### How do I list a user's transactions through Jentic?

Through Jentic, search for 'list a member's transactions', load the relevant member transactions operation, and pass the user GUID and member GUID. Jentic returns the enriched transaction list with category, merchant, and location metadata to your agent.

### What are the rate limits for the MX Platform API?

MX enforces per-client rate limits documented in their developer portal rather than the OpenAPI spec. Watch for 429 responses and respect the Retry-After header; production limits are typically negotiated per partner agreement.

### Does the MX Platform API support microdeposit verification?

Yes. The microdeposits endpoints let you initiate two small deposits to a destination account and then submit the user-reported amounts to confirm ownership. This is the standard verification flow before initiating ACH transfers.

### Can the MX Platform API enrich transactions with merchant data?

Yes. Transaction responses include resolved merchants linked to /merchants/{merchant_guid} records, plus default categories from /categories/default. Use transaction rules to override the defaults for a specific user.

### Can I limit what my agent is allowed to do with the MX Platform API?

Yes. Because you run Jentic One yourself, your own rules decide which MX Platform operations and which stored credentials the agent may use, so a read-only view of accounts and transactions never includes a write call like creating an ACH return unless you add that operation. MX puts resource ids in the URL path, such as /institutions/{institution_code} and /merchants/{merchant_guid}, so a rule can pin the agent to a single institution or merchant rather than the whole catalog. The agent only ever reaches the endpoints you have explicitly allowed.
