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 Institutions API version: '20250224' servers: - url: https://int-api.mx.com - url: https://api.mx.com security: - basicAuth: [] tags: - name: institutions description: 'Institutions represent a financial institution. A single real-world financial institution may have several `institution` objects on the MX platform. For example, the mortgage division of a financial institution might use a separate system than its everyday banking division, which is different from its credit card division. For more info, see [Institutions Overview](docs.mx.com/api-reference/reference/institutions). ' paths: /institutions: get: description: Lists financial institutions available through the MX platform. This endpoint has been updated in `v20250224` to enhance search and filtering capabilities based on the products supported by each institution. operationId: listInstitutions parameters: - $ref: '#/components/parameters/acceptVersion' - $ref: '#/components/parameters/institutionName' - $ref: '#/components/parameters/isoCountryCode' - $ref: '#/components/parameters/includeBlockedInstitutions' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/recordsPerPageMax1000' - $ref: '#/components/parameters/supportedProducts' responses: '200': content: application/json: schema: $ref: '#/components/schemas/InstitutionsResponseBody' description: OK summary: List institutions tags: - institutions /institutions/favorites: get: description: This endpoint returns a paginated list containing institutions that have been set as favorites, sorted by popularity. Please contact MX to set a list of favorites. operationId: listFavoriteInstitutions parameters: - $ref: '#/components/parameters/isoCountryCode' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/recordsPerPageMax1000' responses: '200': content: application/json: schema: $ref: '#/components/schemas/InstitutionsResponseBody' description: OK summary: List favorite institutions tags: - institutions /institutions/{institution_code}: get: description: This endpoint returns information about the institution specified by `institution_code`. The `v20250224` update enhances the granularity of the information provided about the services and products supported by the institution. operationId: readInstitution parameters: - $ref: '#/components/parameters/acceptVersion' - $ref: '#/components/parameters/institutionCode' responses: '200': content: application/json: schema: $ref: '#/components/schemas/InstitutionResponseBody' description: OK summary: Read institution tags: - institutions /institutions/{institution_identifier}/credentials: get: description: 'Use this endpoint to see which credentials will be needed to create a member for a specific institution. Passing an invalid `institution_identifier` returns a `404`. ' operationId: listInstitutionCredentials parameters: - $ref: '#/components/parameters/acceptVersion' - $ref: '#/components/parameters/institutionIdentifier' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/recordsPerPageMax1000' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CredentialsResponseBody' description: OK summary: List institution credentials tags: - institutions components: schemas: CredentialsResponseBody: properties: credentials: items: $ref: '#/components/schemas/CredentialResponse' type: array pagination: $ref: '#/components/schemas/PaginationResponse' type: object InstitutionResponseBody: properties: institution: $ref: '#/components/schemas/InstitutionResponse' 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 CredentialResponse: properties: display_order: example: 1 type: - integer - 'null' field_name: example: LOGIN type: - string - 'null' field_type: example: TEXT type: - string - 'null' guid: example: CRD-1ec152cd-e628-e81a-e852-d1e7104624da type: - string - 'null' label: example: Username type: - string - 'null' type: example: TEXT type: - string - 'null' type: object InstitutionsResponseBody: properties: institutions: items: $ref: '#/components/schemas/InstitutionResponse' type: array pagination: $ref: '#/components/schemas/PaginationResponse' type: object InstitutionResponse: properties: client_status: description: 'The client-level status of the institution, indicating restrictions on member connections. ' example: AVAILABLE type: string enum: - AVAILABLE - PREVENT_ALL - PREVENT_NEW - PREVENT_ALL_AND_DISCONNECT - PREVENT_VERIFICATION - PREVENT_BACKGROUND_AGG code: description: The code identifying a financial institution. example: mxbank type: - string - 'null' created_at: description: The date and time the institution was created, represented in ISO 8601 format with a timestamp. example: '2025-02-13T18:08:00+00:00' type: string forgot_password_url: description: URL for the forgot password page of the institution. example: https://example.url.mxbank.com/forgot-password type: - string - 'null' forgot_username_url: description: URL for the forgot username page of the institution. example: https://example.url.mxbank.com/forgot-username type: - string - 'null' guid: description: The unique identifier for the institution. Defined by MX. example: INS-1572a04c-912b-59bf-5841-332c7dfafaef type: string instructional_text: description: Render this text when end users are asked for their credentials, as it helps end users provide the correct credentials when creating a new member. May contain `` tags to link to explanatory material. example: Some instructional text for end users. type: - string - 'null' instructional_text_steps: type: - array - 'null' items: type: string description: An array of instructional steps that may contain html elements. example: - 'Step 1: Do this.' - 'Step 2: Do that.' is_disabled_by_client: description: Indicates whether the institution is disabled by the client. example: false type: - boolean - 'null' is_hidden: example: true type: boolean description: If the institution is available for creating new member connections, this field will be `false`. Otherwise, this field will be `true`. iso_country_code: description: The ISO country code associated with the institution. example: US type: string enum: - US - CA medium_logo_url: description: The URL for a 100px X 100px logo for each `institution`. A generic logo is returned for institutions that don't have one. example: https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/100x100/default_100x100.png type: - string - 'null' name: description: The name of the institution. example: MX Bank type: - string - 'null' small_logo_url: description: The URL for a 50px X 50px logo for each `institution`. A generic logo is returned for institutions that don't have one. example: https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/50x50/default_50x50.png type: - string - 'null' status: description: 'The operational status of the institution. ' example: OPERATIONAL type: string enum: - OPERATIONAL - MAINTENANCE - DEGRADED - UNAVAILABLE supported_products: items: $ref: '#/components/schemas/SupportedProducts' supports_oauth: description: 'If true, this indicates that the institution supports OAuth and that you have been properly registered for OAuth with that institution. ' example: true type: - boolean - 'null' supports_tax_document: description: This indicates whether the institution supports tax documents. example: true type: - boolean - 'null' trouble_signing_in_url: description: The URL of the institution for helping users troubleshoot any other sign-in issue. example: https://example.url.mxbank.com/login-trouble type: - string - 'null' url: description: The URL for an institution's website. example: https://www.mxbank.com type: - string - 'null' type: object SupportedProducts: type: string enum: - account_verification - identity_verification - transactions - transaction_history - statements - investments - rewards parameters: includeBlockedInstitutions: description: When set to `true`, returns all institutions regardless of their operational status. When `false` or omitted, only returns institutions that are currently operational. required: false in: query name: include_blocked_institutions example: true schema: type: boolean default: false institutionIdentifier: description: The identifier for the institution. For this identifier, use either the `institution_code` or the institution `guid`. example: mxbank in: path name: institution_identifier required: true 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 institutionCode: description: A unique identifier for each institution, defined by MX. example: mxbank in: path name: institution_code required: true 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 institutionName: description: This will list only institutions in which the appended string appears. example: mxbank in: query name: name schema: type: string supportedProducts: name: supported_products[] in: query required: false schema: type: array items: type: string enum: - account_verification - identity_verification - transactions - transaction_history - statements - investments description: 'Filters institutions that support specific products. Values may include account_verification, identity_verification, transactions, transaction_history, statements, investments. For example, institutions that support account_verification and statements, `?supported_products[]=account_verification&supported_products[]=statements`.' example: - account_verification - statements isoCountryCode: description: An array of strings that filters institutions in the widget by the specified country code. Acceptable codes include `US`, `CA`, and `MX` (Mexico). required: false in: query name: iso_country_code example: - US - CA schema: type: array items: 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