MX Platform Insights API

The Insights API from MX Platform — 8 operation(s) for insights.

OpenAPI Specification

mx-platform-insights-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.'
  title: MX Platform Insights API
  version: 0.1.0
servers:
- url: https://api.mx.com
- url: https://int-api.mx.com
security:
- basicAuth: []
tags:
- name: Insights
paths:
  /users/{user_guid}/accounts/{account_guid}/insights:
    get:
      description: Use this endpoint to list all insights associated with a specified account GUID.
      operationId: listInsightsByAccount
      parameters:
      - description: The unique id for the `account`.
        example: ACT-7c6f361b-e582-15b6-60c0-358f12466b4b
        in: path
        name: account_guid
        required: true
        schema:
          type: string
      - description: Specify current page.
        example: 1
        in: query
        name: page
        schema:
          type: integer
      - description: Specify records per page.
        example: 10
        in: query
        name: records_per_page
        schema:
          type: integer
      - description: The unique id for the `user`.
        example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/InsightsResponseBody'
          description: OK
      summary: List insights by account
      tags:
      - Insights
  /users/{user_guid}/insights:
    get:
      description: Use this endpoint to list all the insights associated with the user.
      operationId: listInsightsUser
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-1234-abcd
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: Specify current page.
        example: 1
        in: query
        name: page
        schema:
          type: integer
      - description: Specify records per page.
        example: 10
        in: query
        name: records_per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/InsightsResponseBody'
          description: OK
      summary: List all insights for a user.
      tags:
      - Insights
  /users/{user_guid}/insights/{insight_guid}/categories:
    get:
      description: Use this endpoint to list all the categories associated with the insight.
      operationId: listCategoriesInsight
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-1234-abcd
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: The unique identifier for the insight. Defined by MX.
        example: BET-1234-abcd
        in: path
        name: insight_guid
        required: true
        schema:
          type: string
      - description: Specify current page.
        example: 1
        in: query
        name: page
        schema:
          type: integer
      - description: Specify records per page.
        example: 10
        in: query
        name: records_per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/CategoriesResponseBody'
          description: OK
      summary: List all categories associated with an insight.
      tags:
      - Insights
  /users/{user_guid}/insights/{insight_guid}/accounts:
    get:
      description: Use this endpoint to list all the accounts associated with the insight.
      operationId: listAccountsInsight
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-1234-abcd
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: The unique identifier for the insight. Defined by MX.
        example: BET-1234-abcd
        in: path
        name: insight_guid
        required: true
        schema:
          type: string
      - description: Specify current page.
        example: 1
        in: query
        name: page
        schema:
          type: integer
      - description: Specify records per page.
        example: 10
        in: query
        name: records_per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/AccountsResponseBody'
          description: OK
      summary: List all accounts associated with an insight.
      tags:
      - Insights
  /users/{user_guid}/insights/{insight_guid}/merchants:
    get:
      description: Use this endpoint to list all the merchants associated with the insight.
      operationId: listMerchantsInsight
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-1234-abcd
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: The unique identifier for the insight. Defined by MX.
        example: BET-1234-abcd
        in: path
        name: insight_guid
        required: true
        schema:
          type: string
      - description: Specify current page.
        example: 1
        in: query
        name: page
        schema:
          type: integer
      - description: Specify records per page.
        example: 10
        in: query
        name: records_per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/MerchantsResponseBody'
          description: OK
      summary: List all merchants associated with an insight.
      tags:
      - Insights
  /users/{user_guid}/insights/{insight_guid}/scheduled_payments:
    get:
      description: Use this endpoint to list all the scheduled payments associated with the insight.
      operationId: listScheduledPaymentsInsight
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-1234-abcd
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: The unique identifier for the insight. Defined by MX.
        example: BET-1234-abcd
        in: path
        name: insight_guid
        required: true
        schema:
          type: string
      - description: Specify current page.
        example: 1
        in: query
        name: page
        schema:
          type: integer
      - description: Specify records per page.
        example: 10
        in: query
        name: records_per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/ScheduledPaymentsResponseBody'
          description: OK
      summary: List all scheduled payments associated with an insight
      tags:
      - Insights
  /users/{user_guid}/insights/{insight_guid}/transactions:
    get:
      description: Use this endpoint to list all the transactions associated with the insight.
      operationId: listTransactionsInsight
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-1234-abcd
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: The unique identifier for the insight. Defined by MX.
        example: BET-1234-abcd
        in: path
        name: insight_guid
        required: true
        schema:
          type: string
      - description: Specify current page.
        example: 1
        in: query
        name: page
        schema:
          type: integer
      - description: Specify records per page.
        example: 10
        in: query
        name: records_per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/TransactionsResponseBody'
          description: OK
      summary: List all transactions associated with an insight.
      tags:
      - Insights
  /users/{user_guid}/insights{insight_guid}:
    get:
      description: Use this endpoint to read the attributes of a specific insight according to its unique GUID.
      operationId: readInsightsUser
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-1234-abcd
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: The unique identifier for the insight. Defined by MX.
        example: BET-1234-abcd
        in: path
        name: insight_guid
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/InsightResponseBody'
          description: OK
      summary: Read a specific insight.
      tags:
      - Insights
    put:
      description: Use this endpoint to update the attributes of a particular insight according to its unique GUID.
      operationId: updateInsight
      parameters:
      - description: The unique identifier for the user. Defined by MX.
        example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      - description: The unique identifier for the insight. Defined by MX.
        example: BET-1234-abcd
        in: path
        name: insight_guid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsightUpdateRequest'
        description: The insight to be updated (None of these parameters are required, but the user object cannot be empty.)
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/InsightResponse'
          description: OK
      summary: Update insight
      tags:
      - Insights
components:
  schemas:
    AccountResponse:
      properties:
        account_number:
          example: '5366'
          nullable: true
          type: string
        account_ownership:
          example: INDIVIDUAL
          nullable: true
          type: string
        annuity_policy_to_date:
          example: '2016-10-13T17:57:37.000Z'
          nullable: true
          type: string
        annuity_provider:
          example: Metlife
          nullable: true
          type: string
        annuity_term_year:
          example: 2048
          nullable: true
          type: number
        apr:
          example: 1
          nullable: true
          type: number
        apy:
          example: 1
          nullable: true
          type: number
        available_balance:
          example: 1000
          nullable: true
          type: number
        available_credit:
          example: 1000
          nullable: true
          type: number
        balance:
          example: 10000
          nullable: true
          type: number
        cash_balance:
          example: 1000
          nullable: true
          type: number
        cash_surrender_value:
          example: 1000
          nullable: true
          type: number
        created_at:
          example: '2023-07-25T17:14:46Z'
          nullable: false
          type: string
        credit_limit:
          example: 100
          nullable: true
          type: number
        currency_code:
          example: USD
          nullable: true
          type: string
        day_payment_is_due:
          example: 20
          nullable: true
          type: integer
        death_benefit:
          example: 1000
          nullable: true
          type: integer
        federal_insurance_status:
          example: INSURED
          nullable: true
          type: string
        guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        holdings_value:
          example: 1000
          nullable: true
          type: number
        id:
          example: '1040434698'
          nullable: true
          type: string
        imported_at:
          example: '2015-10-13T17:57:37.000Z'
          nullable: true
          type: string
        institution_code:
          example: 3af3685e-05d9-7060-359f-008d0755e993
          nullable: true
          type: string
        insured_name:
          example: Tommy Shelby
          nullable: true
          type: string
        interest_rate:
          example: 1
          nullable: true
          type: number
        is_closed:
          example: false
          nullable: true
          type: boolean
        is_hidden:
          example: false
          nullable: true
          type: boolean
        is_manual:
          example: false
          nullable: true
          type: boolean
        last_payment:
          example: 100
          nullable: true
          type: number
        last_payment_at:
          example: '2023-07-25T17:14:46Z'
          nullable: true
          type: string
        loan_amount:
          example: 1000
          nullable: true
          type: number
        margin_balance:
          example: 1000
          nullable: true
          type: number
        matures_on:
          example: '2015-10-13T17:57:37.000Z'
          nullable: true
          type: string
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        member_id:
          example: member123
          nullable: true
          type: string
        member_is_managed_by_user:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: some metadata
          nullable: true
          type: string
        minimum_balance:
          example: 100
          nullable: true
          type: number
        minimum_payment:
          example: 10
          nullable: true
          type: number
        name:
          example: Test account 2
          nullable: true
          type: string
        nickname:
          example: My Checking
          nullable: true
          type: string
        original_balance:
          example: 10
          nullable: true
          type: number
        pay_out_amount:
          example: 10
          nullable: true
          type: number
        payment_due_at:
          example: '2015-10-13T17:57:37.000Z'
          nullable: true
          type: string
        payoff_balance:
          example: 10
          nullable: true
          type: number
        premium_amount:
          example: 1
          nullable: true
          type: number
        property_type:
          example: VEHICLE
          nullable: true
          type: string
        routing_number:
          example: '68899990000000'
          nullable: true
          type: string
        started_on:
          example: '2015-10-13T17:57:37.000Z'
          nullable: true
          type: string
        statement_balance:
          example: 100.1
          nullable: true
          type: number
        subtype:
          example: NONE
          nullable: true
          type: string
        today_ugl_amount:
          example: 1000.5
          nullable: true
          type: number
        today_ugl_percentage:
          example: 6.9
          nullable: true
          type: number
        total_account_value:
          example: 1
          nullable: true
          type: number
        total_account_value_ugl:
          example: 1.1
          nullable: true
          type: number
        type:
          example: SAVINGS
          nullable: true
          type: string
        updated_at:
          example: '2016-10-13T18:08:00.000Z'
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
        user_id:
          example: user123
          nullable: true
          type: string
      type: object
    CategoryResponse:
      properties:
        created_at:
          example: '2015-04-13T18:01:23.000Z'
          nullable: true
          type: string
        guid:
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          nullable: true
          type: string
        is_default:
          example: true
          nullable: true
          type: boolean
        is_income:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: some metadata
          nullable: true
          type: string
        name:
          example: Auto Insurance
          nullable: true
          type: string
        parent_guid:
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          nullable: true
          type: string
        updated_at:
          example: '2015-05-13T18:01:23.000Z'
          nullable: true
          type: string
      type: object
    MerchantsResponseBody:
      properties:
        merchants:
          items:
            $ref: '#/components/schemas/MerchantResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    InsightResponse:
      properties:
        active_at:
          example: '2022-01-07T12:00:00Z'
          nullable: true
          type: string
        client_guid:
          example: CLT-abcd-1234
          nullable: true
          type: string
        created_at:
          example: '2022-01-12T18:16:51Z'
          nullable: true
          type: string
        cta_clicked_at:
          example: '2022-01-12T18:16:51Z'
          nullable: true
          type: string
        description:
          example: Gold's Gym charged you $36.71 more this month than normal. Did you upgrade your service?
          nullable: true
          type: string
        guid:
          example: BET-abcd-1234
          nullable: true
          type: string
        has_associated_accounts:
          example: false
          nullable: true
          type: boolean
        has_associated_merchants:
          example: false
          nullable: true
          type: boolean
        has_associated_scheduled_payments:
          example: false
          nullable: true
          type: boolean
        has_associated_transactions:
          example: true
          nullable: true
          type: boolean
        has_been_displayed:
          example: true
          nullable: true
          type: boolean
        is_dismissed:
          example: false
          nullable: true
          type: boolean
        micro_call_to_action:
          example: Learn more
          nullable: true
          type: string
        micro_description:
          example: Netflix charged you $5.00 more this month than normal.
          nullable: true
          type: string
        micro_title:
          example: Price increase
          nullable: true
          type: string
        template:
          example: SubscriptionPriceIncrease
          nullable: true
          type: string
        title:
          example: Price increase
          nullable: true
          type: string
        updated_at:
          example: '2022-01-12T18:16:51Z'
          nullable: true
          type: string
        user_guid:
          example: USR-1234-abcd
          type: string
        user_id:
          example: user-partner-defined-1234
      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
    ScheduledPaymentResponse:
      properties:
        amount:
          example: 13.54
          type: number
        created_at:
          example: '2023-04-27T23:14:16.000Z'
          type: string
        description:
          example: Netflix
          type: string
        guid:
          example: SPA-c76e4a85-b2c4-4335-82b7-8f8b8f28c35a
          type: string
        is_completed:
          example: false
          type: boolean
        is_recurring:
          example: true
          type: boolean
        merchant_guid:
          example: MCH-b8a2624c-2176-59ec-c150-37854bc38aa8
          type: string
        occurs_on:
          example: '2022-01-15T00:00:00.000Z'
          type: string
        recurrence_day:
          example: 15
          type: integer
        recurrence_type:
          example: EVERY_MONTH
          type: string
        transaction_type:
          example: DEBIT
          type: string
        updated_at:
          example: '2023-04-27T23:14:16.000Z'
          type: string
        user_guid:
          example: USR-72086f59-6684-4adf-8f29-c4d32db43cd7
          type: string
      type: object
    TransactionsResponseBody:
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
        transactions:
          items:
            $ref: '#/components/schemas/TransactionResponse'
          type: array
      type: object
    TransactionResponse:
      properties:
        account_guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        account_id:
          example: account123
          nullable: true
          type: string
        amount:
          example: 61.11
          nullable: true
          type: number
        category:
          example: Groceries
          nullable: true
          type: string
        category_guid:
          example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
          nullable: true
          type: string
        check_number_string:
          example: '6812'
          nullable: true
          type: string
        created_at:
          example: '2016-10-06T09:43:42.000Z'
          nullable: true
          type: string
        currency_code:
          example: USD
          nullable: true
          type: string
        date:
          example: '2013-09-23T00:00:00.000Z'
          nullable: true
          type: string
        description:
          example: Whole foods
          nullable: true
          type: string
        extended_transaction_type:
          example: partner_transaction_type
          nullable: true
          type: string
        guid:
          example: TRN-265abee9-889b-af6a-c69b-25157db2bdd9
          nullable: true
          type: string
        id:
          example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
          nullable: true
          type: string
        is_bill_pay:
          example: false
          nullable: true
          type: boolean
        is_direct_deposit:
          example: false
          nullable: true
          type: boolean
        is_expense:
          example: true
          nullable: true
          type: boolean
        is_fee:
          example: false
          nullable: true
          type: boolean
        is_income:
          example: false
          nullable: true
          type: boolean
        is_international:
          example: false
          nullable: true
          type: boolean
        is_overdraft_fee:
          example: false
          nullable: true
          type: boolean
        is_payroll_advance:
          example: false
          nullable: true
          type: boolean
        is_recurring:
          example: false
          nullable: true
          type: boolean
        is_subscription:
          example: false
          nullable: true
          type: boolean
        latitude:
          example: -43.2075
          nullable: true
          type: number
        localized_description:
          example: This is a localized_description
          nullable: true
          type: string
        localized_memo:
          example: This is a localized_memo
          nullable: true
          type: string
        longitude:
          example: 139.691706
          nullable: true
          type: number
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        member_is_managed_by_user:
          example: false
          nullable: true
          type: boolean
        memo:
          example: This is a memo
          nullable: true
          type: string
        merchant_category_code:
          example: 5411
          nullable: true
          type: integer
        merchant_guid:
          example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
          nullable: true
          type: string
        merchant_location_guid:
          example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
          nullable: true
          type: string
        metadata:
          example: some metadata
          nullable: true
          type: string
        original_description:
          example: WHOLEFDS TSQ 102
          nullable: true
          type: string
        posted_at:
          example: '2016-10-07T06:00:00.000Z'
          nullable: true
          type: string
        status:
          example: POSTED
          nullable: true
          type: string
        top_level_category:
          example: Food & Dining
          nullable: true
          type: string
        transacted_at:
          example: '2016-10-06T13:00:00.000Z'
          nullable: true
          type: string
        type:
          example: DEBIT
          nullable: true
          type: string
        updated_at:
          example: '2016-10-07T05:49:12.000Z'
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
        user_id:
          example: user123
          nullable: true
          type: string
      type: object
    InsightResponseBody:
      properties:
        insight:
          items:
            $ref: '#/components/schemas/InsightResponse'
          type: object
      type: object
    InsightsResponseBody:
      properties:
        insights:
          items:
            $ref: '#/components/schemas/InsightResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    CategoriesResponseBody:
      properties:
        categories:
          items:
            $ref: '#/components/schemas/CategoryResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    AccountsResponseBody:
      properties:
        accounts:
          items:
            $ref: '#/components/schemas/AccountResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    ScheduledPaymentsResponseBody:
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
        scheduled_payments:
          items:
            $ref: '#/components/schemas/ScheduledPaymentResponse'
          type: array
      type: object
    MerchantResponse:
      properties:
        created_at:
          example: '2017-04-20T19:30:12.000Z'
          nullable: true
          type: string
        guid:
          example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
          nullable: true
          type: string
        logo_url:
          example: https://s3.amazonaws.com/MD_Assets/merchant_logos/comcast.png
          nullable: true
          type: string
        name:
          example: Comcast
          nullable: true
          type: string
        updated_at:
          example: '2018-09-28T21:13:53.000Z'
          nullable: true
          type: string
        website_url:
          example: https://www.xfinity.com
          nullable: true
          type: string
      type: object
    InsightUpdateRequest:
      properties:
        has_been_displayed:
          example: false
          type: boolean
        is_dismissed:
          example: false
          type: boolean
      type: object
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http