MX Technologies statements API

The statements API from MX Technologies — 5 operation(s) for statements.

OpenAPI Specification

mx-technologies-statements-api-openapi.yml Raw ↑
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