MX Platform Split API

The Split API from MX Platform — 1 operation(s) for split.

OpenAPI Specification

mx-platform-split-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 Split API
  version: 0.1.0
servers:
- url: https://api.mx.com
- url: https://int-api.mx.com
security:
- basicAuth: []
tags:
- name: Split
paths:
  /users/{user_guid}/transactions/{transaction_guid}/split:
    delete:
      description: This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header.
      parameters:
      - description: The unique id for a `transaction`.
        example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
        in: path
        name: transaction_guid
        required: true
        schema:
          type: string
      - description: The unique id for a `user`.
        example: USR-85628b0-5210-4878-9bd3-f4ce154f90c4
        in: path
        name: user_guid
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No content
      summary: Delete split transactions
      tags:
      - Split
    post:
      description: This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction.  When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again.    In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again.
      parameters:
      - name: user_guid
        description: The unique identifier for the user. Defined by MX.
        in: path
        required: true
        schema:
          type: string
      - name: transaction_guid
        description: The unique identifier for the transaction. Defined by MX.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitTransactionRequestBody'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SplitTransactionsResponseBody'
          description: OK
      summary: Create split transactions
      tags:
      - Split
components:
  schemas:
    SplitTransactionRequestBody:
      properties:
        transactions:
          $ref: '#/components/schemas/SplitTransactionRequest'
      required:
      - transactions
      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
    SplitTransactionsResponseBody:
      properties:
        transactions:
          items:
            $ref: '#/components/schemas/TransactionResponse'
          type: array
      type: object
    SplitTransactionRequest:
      properties:
        amount:
          description: Amount of money you want to re-categorize.
          example: 54.19
          type: number
        description:
          description: Description for the split transaction.
          example: Chevron Gas
          type: string
        category_guid:
          description: Unique identifier of the category.
          example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
          type: string
        memo:
          description: Memo for the split transaction
          type: string
          example: Chips and Soda
      required:
      - amount
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http