MX Users API
Users represent an end user using the Platform API through your web or mobile app. Users are created by MX clients and belong to a specific [client](docs.mx.com/products/connectivity/overview/data-architecture/#clients) on the platform.
Users represent an end user using the Platform API through your web or mobile app. Users are created by MX clients and belong to a specific [client](docs.mx.com/products/connectivity/overview/data-architecture/#clients) on the platform.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/mx-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
contact:
name: MX Platform API
url: https://www.mx.com/products/platform-api
description: 'The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions.
## What''s Changed?
Several endpoints, headers, and fields changed in `v20250224`. For more on breaking changes, refer to our [versioning](/api-reference/platform-api/overview/versioning#v20250224) and [migration](/api-reference/platform-api/overview/migration) guides.
## Version Header
Versions are set in the `Accept-Version` header of API requests. Version numbers correspond with the date associated with that version. The example below uses the version `v20250224`.
```
-H ''Accept: application/json''
-H ''Accept-Version: v20250224''
```
---
'
title: MX Platform Users API
version: '20250224'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: users
description: 'Users represent an end user using the Platform API through your web or mobile app.
Users are created by MX clients and belong to a specific [client](docs.mx.com/products/connectivity/overview/data-architecture/#clients) on the platform.
'
paths:
/users:
get:
description: Use this endpoint to list every user you've created in the MX Platform API.
operationId: listUsers
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userId'
- $ref: '#/components/parameters/userEmail'
- $ref: '#/components/parameters/userIsDisabled'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UsersResponseBody'
description: OK
summary: List users
tags:
- users
post:
description: Use this endpoint to create a new user. The API will respond with the newly-created user object if successful, containing a `guid` that you'll set as the `user_guid` in other requests when required. Disabling a user means that accounts and transactions associated with it will not be updated in the background by MX. It will also restrict access to that user’s data until they are no longer disabled.
operationId: createUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserCreateRequestBody'
description: User object to be created. (None of these parameters are required, but the user object cannot be empty)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponseBody'
description: OK
summary: Create user
tags:
- users
/users/{user_identifier}:
delete:
description: 'Use this endpoint to delete the specified `user`. The response will have a status of `204 No Content` without an object.
<Warning>
Deleting a user is permanent. Deleted users can never be restored. For more info, see [Deleting Objects](/api-reference/platform-api/overview/deleting-objects).
</Warning>
'
operationId: deleteUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userIdentifier'
responses:
'204':
description: No Content
summary: Delete user
tags:
- users
get:
description: Use this endpoint to read the attributes of a specific user.
operationId: readUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponseBody'
description: OK
summary: Read user
tags:
- users
put:
description: Use this endpoint to update the attributes of the specified user.
operationId: updateUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdateRequestBody'
description: User object to be updated (None of these parameters are required, but the user object cannot be empty.)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponseBody'
description: OK
summary: Update user
tags:
- users
components:
schemas:
UserUpdateRequestBody:
properties:
user:
$ref: '#/components/schemas/UserUpdateRequest'
type: object
PaginationResponse:
properties:
current_page:
description: The page delivered by the current response.
example: 1
type: integer
per_page:
description: The number of records delivered with each page.
example: 25
type: integer
total_entries:
description: The total number of records available.
example: 1
type: integer
total_pages:
description: The total number of pages available.
example: 1
type: integer
type: object
UsersResponseBody:
properties:
users:
items:
$ref: '#/components/schemas/UserResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
UserCreateRequestBody:
properties:
user:
$ref: '#/components/schemas/UserCreateRequest'
type: object
UserCreateRequest:
properties:
email:
description: The email address associated with the account.
example: example@example.com
type: string
id:
description: The unique partner-defined identifier for the user.
example: My-Unique-ID
type: string
is_disabled:
description: Indicates whether the user has been disabled. Defaults to `false`.
example: false
type: boolean
metadata:
description: Additional information you can store about the `user`.
example: '{\"type\": \"individual\", \"status\": \"preferred\"}'
type: string
type: object
UserResponse:
properties:
email:
description: The email address associated with the account.
example: example@example.com
type: string
guid:
description: The unique identifier for the user. Defined by MX.
example: USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6
type:
- string
- 'null'
id:
description: The unique partner-defined identifier for the user.
example: My-Unique-ID
type:
- string
- 'null'
is_disabled:
description: Indicates whether the user has been disabled. Defaults to `false`.
example: false
type:
- boolean
- 'null'
metadata:
description: Additional information you stored about the `user`.
example: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
type:
- string
- 'null'
type: object
UserUpdateRequest:
properties:
email:
description: The email address associated with the account.
example: example@example.com
type: string
id:
description: The unique partner-defined identifier for the user.
example: My-Unique-ID
type: string
is_disabled:
description: Indicates whether the user has been disabled. Defaults to `false`.
example: false
type: boolean
metadata:
description: Additional information you can store about the `user`.
example: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
type: string
type: object
UserResponseBody:
properties:
user:
$ref: '#/components/schemas/UserResponse'
type: object
parameters:
userIsDisabled:
description: Search for users that are disabled.
example: true
in: query
name: is_disabled
schema:
type: boolean
userId:
description: The user `id` to search for.
example: u-12324-abdc
in: query
name: id
schema:
type: string
acceptVersion:
name: Accept-Version
in: header
required: true
schema:
type: string
default: v20250224
example: v20250224
description: MX Platform API version.
page:
description: Results are paginated. Specify current page.
example: 1
in: query
name: page
schema:
type: integer
userEmail:
description: The user `email` to search for.
example: example@example.com
in: query
name: email
schema:
type: string
recordsPerPageMax1000:
description: This specifies the number of records to be returned on each page. Defaults to `25`. The valid range is from `10` to `1000`. If the value exceeds `1000`, the default value of `25` will be used instead.
example: 10
in: query
name: records_per_page
schema:
type: integer
acceptHeader:
description: Specifies the media type expected in the response.
in: header
name: Accept
required: true
schema:
type: string
example: application/json
userIdentifier:
description: Use either the user `id` you defined or the MX-defined user `guid`. See [MX-Defined GUIDs vs IDs Defined by You](/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you).
in: path
required: true
name: user_identifier
schema:
type: string
securitySchemes:
basicAuth:
scheme: basic
type: http
description: 'The MX Platform API requires basic access authentication using your `client_id` and `api_key`. These credentials must be Base64 encoded and included in the Authorization header of each API request to ensure secure access.
Here''s an example using curl to access `v20250224`. Replace `https://int-api.mx.com/endpoint` with the actual API endpoint you wish to access and your Base64 encoded `client_id` and `api_key`.
```
curl -L -X POST `https://int-api.mx.com/endpoint'' \
-H ''Content-Type: application/json'' \
-H ''Accept: application/json'' \
-H ''Accept-Version: v20250224''
-H ''Authorization: Basic BASE_64_ENCODING_OF{client_id:api_key}''
```
'
bearerAuth:
type: http
scheme: bearer