openapi: 3.0.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. Just getting started? See our [use case guides](/use-cases/). ' title: MX Platform accounts statements API version: '20111101' servers: - url: https://int-api.mx.com - url: https://api.mx.com security: - basicAuth: [] tags: - name: statements paths: /users/{user_guid}/members/{member_guid}/fetch_statements: post: description: Use this endpoint to fetch the statements associated with a particular member. operationId: fetchStatements parameters: - $ref: '#/components/parameters/memberGuid' - $ref: '#/components/parameters/userGuid' responses: '202': content: application/vnd.mx.api.v1+json: schema: $ref: '#/components/schemas/MemberResponseBody' description: Accepted summary: Fetch statements tags: - statements /users/{user_guid}/members/{member_guid}/statements: get: description: Use this endpoint to get an array of available statements. operationId: listStatementsByMember parameters: - $ref: '#/components/parameters/memberGuid' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/recordsPerPageMax1000' - $ref: '#/components/parameters/userGuid' responses: '200': content: application/vnd.mx.api.v1+json: schema: $ref: '#/components/schemas/StatementsResponseBody' description: OK summary: List statements by member tags: - statements /users/{user_guid}/members/{member_guid}/statements/{statement_guid}: get: description: Use this endpoint to read a JSON representation of the statement. operationId: readStatementByMember parameters: - $ref: '#/components/parameters/memberGuid' - $ref: '#/components/parameters/statementGuid' - $ref: '#/components/parameters/userGuid' responses: '200': content: application/vnd.mx.api.v1+json: schema: $ref: '#/components/schemas/StatementResponseBody' description: OK summary: Read statement by member tags: - statements /users/{user_guid}/members/{member_guid}/statements/{statement_guid}.pdf: get: description: Use this endpoint to download a specified statement PDF. operationId: downloadStatementPDF parameters: - $ref: '#/components/parameters/memberGuid' - $ref: '#/components/parameters/statementGuid' - $ref: '#/components/parameters/userGuid' responses: '200': content: application/vnd.mx.api.v1+pdf: schema: format: binary type: string description: OK summary: Download statement pdf tags: - statements /users/{user_identifier}/members/{member_identifier}/fetch_statements: post: description: Use this endpoint to fetch the statements associated with a particular member. operationId: fetchStatements parameters: - $ref: '#/components/parameters/acceptVersion' - $ref: '#/components/parameters/memberIdentifier' - $ref: '#/components/parameters/userIdentifier' responses: '202': content: application/json: schema: $ref: '#/components/schemas/MemberResponseBody' description: Accepted summary: Fetch statements tags: - statements components: schemas: StatementsResponseBody: properties: statements: items: $ref: '#/components/schemas/StatementResponse' type: array pagination: $ref: '#/components/schemas/PaginationResponse' type: object MemberResponseBody: properties: member: $ref: '#/components/schemas/MemberResponse' type: object MemberResponse: properties: aggregated_at: example: '2016-10-13T18:07:57.000Z' nullable: true type: string background_aggregation_is_disabled: example: false type: boolean connection_status: example: CONNECTED nullable: true type: string connection_status_message: example: Connected to MX Bank nullable: true type: string guid: example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b nullable: true type: string id: example: unique_id nullable: true type: string institution_code: example: mxbank nullable: true type: string institution_guid: example: INST-12345678-90ab-cdef-1234-567890abcdef nullable: false type: string is_being_aggregated: example: false nullable: true type: boolean is_managed_by_user: example: false nullable: true type: boolean is_manual: example: false nullable: true type: boolean is_oauth: example: false nullable: true type: boolean metadata: example: '\"credentials_last_refreshed_at\": \"2015-10-15\' nullable: true type: string most_recent_job_detail_code: example: null nullable: true type: integer most_recent_job_detail_text: example: null nullable: true type: boolean most_recent_job_guid: example: JOB-12345678-90ab-cdef-1234-567890abcdef nullable: true type: boolean name: example: MX Bank nullable: true type: string needs_updated_credentials: example: false nullable: true type: boolean oauth_window_uri: example: https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2 nullable: true type: string successfully_aggregated_at: example: '2016-10-13T17:57:38.000Z' nullable: true type: string use_cases: type: array description: The use case associated with the member. Valid values are `PFM` and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and have opted in to using this field. items: type: string enum: - MONEY_MOVEMENT - PFM example: - PFM user_guid: example: USR-fa7537f3-48aa-a683-a02a-b18940482f54 nullable: true type: string user_id: example: user123 nullable: true type: string type: object StatementResponseBody: properties: statement: $ref: '#/components/schemas/StatementResponse' type: object PaginationResponse: properties: current_page: example: 1 type: integer per_page: example: 25 type: integer total_entries: example: 1 type: integer total_pages: example: 1 type: integer type: object StatementResponse: properties: account_guid: example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1 nullable: true type: string content_hash: example: ca53785b812d00ef821c3d94bfd6e5bbc0020504410589b7ea8552169f021981 nullable: true type: string created_at: example: '2016-10-13T18:08:00+00:00' nullable: true type: string guid: example: STA-737a344b-caae-0f6e-1384-01f52e75dcb1 nullable: true type: string member_guid: example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b nullable: true type: string updated_at: example: '2016-10-13T18:09:00+00:00' nullable: true type: string uri: example: uri/to/statement nullable: true type: string user_guid: example: USR-fa7537f3-48aa-a683-a02a-b18940482f54 nullable: true type: string type: object parameters: statementGuid: description: The unique id for a `statement`. example: STA-737a344b-caae-0f6e-1384-01f52e75dcb1 in: path name: statement_guid 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. 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 memberGuid: description: The unique id for a `member`. example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b in: path name: member_guid required: true schema: type: string userGuid: description: The unique identifier for a `user`, beginning with the prefix `USR-`. example: USR-fa7537f3-48aa-a683-a02a-b18940482f54 in: path name: user_guid required: true schema: type: string page: description: Results are paginated. Specify current page. example: 1 in: query name: page schema: type: integer userIdentifier: description: Use either the user `id` you defined or the MX-defined user `guid`. See [MX-Defined GUIDs vs IDs Defined by You​](https://docs.mx.com/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you). in: path required: true name: user_identifier schema: type: string memberIdentifier: description: Use either the member `id` you defined or the MX-defined member `guid`. See [MX-Defined GUIDs vs IDs Defined by You](https://docs.mx.com/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you). name: member_identifier in: path required: true schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer basicAuth: scheme: basic type: http