> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create split transactions

>  

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.


## OpenAPI

````yaml openapi/platform-api/v20111101.yaml POST /users/{user_guid}/transactions/{transaction_guid}/split
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 API
  version: '20111101'
servers:
  - url: https://int-api.mx.com
  - url: https://api.mx.com
security:
  - basicAuth: []
tags:
  - name: authorization
  - name: widgets
  - name: users
  - name: members
  - name: institutions
  - name: accounts
  - name: transactions
  - name: microdeposits
  - name: managed data
  - name: transaction rules
  - name: statements
  - name: merchants
  - name: categories
  - name: insights
  - name: investment holdings
  - name: spending plan
  - name: goals
  - name: budgets
  - name: monthly cash flow profile
  - name: notifications
  - name: taggings
  - name: tags
  - name: deprecated
  - name: processor token
  - name: verifiable credentials
  - name: rewards
  - name: ach return
paths:
  /users/{user_guid}/transactions/{transaction_guid}/split:
    parameters:
      - $ref: '#/components/parameters/transactionGuid'
      - $ref: '#/components/parameters/userGuid'
    post:
      tags:
        - transactions
      summary: Create split transactions
      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.
      operationId: createSplitTransactions
      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
components:
  parameters:
    transactionGuid:
      description: The unique id for a `transaction`.
      example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
      in: path
      name: transaction_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
  schemas:
    SplitTransactionRequestBody:
      properties:
        transactions:
          $ref: '#/components/schemas/SplitTransactionRequest'
      required:
        - transactions
      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
    TransactionResponse:
      properties:
        account_guid:
          example: ACT-0af29528-bb91-447f-b5de-85c1c42593e5
          nullable: true
          type: string
        account_id:
          example: FdvkkAgLS0nbDNUujrblz6rYDSl5w-tTLwYRgIxe7jw
          nullable: true
          type: string
        amount:
          example: 5003.9
          nullable: true
          type: number
        category:
          example: Paycheck
          nullable: true
          type: string
        category_guid:
          example: CAT-982ea9e6-3f0e-0c5b-611b-6657a10ba819
          nullable: true
          type: string
        check_number_string:
          example: null
          nullable: true
          type: string
        created_at:
          example: '2024-12-20T18:52:36Z'
          nullable: true
          type: string
        currency_code:
          example: null
          nullable: true
          type: string
        date:
          example: '2024-12-20'
          nullable: true
          type: string
        description:
          example: MX Technologies
          nullable: true
          type: string
        extended_transaction_type:
          example: null
          nullable: true
          type: string
        guid:
          example: TRN-429ad9fe-a1d2-4559-8590-885b2603f0e1
          nullable: true
          type: string
        id:
          example: 1734681600000-178fa8095c154a55b9172f977b4c5f9a-0
          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: false
          nullable: true
          type: boolean
        is_fee:
          example: false
          nullable: true
          type: boolean
        is_income:
          example: true
          nullable: true
          type: boolean
        is_international:
          example: null
          nullable: true
          type: boolean
        is_manual:
          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: null
          nullable: true
          type: boolean
        is_subscription:
          example: false
          nullable: true
          type: boolean
        latitude:
          example: null
          nullable: true
          type: number
        localized_description:
          example: null
          nullable: true
          type: string
        localized_memo:
          example: null
          nullable: true
          type: string
        longitude:
          example: null
          nullable: true
          type: number
        member_guid:
          example: MBR-78b14c5f-7297-4fb5-a966-65ac45f74d8
          nullable: true
          type: string
        member_is_managed_by_user:
          example: true
          nullable: true
          type: boolean
        memo:
          example: Transactions
          nullable: true
          type: string
        merchant_category_code:
          example: null
          nullable: true
          type: integer
        merchant_guid:
          example: MCH-8cc3b01a-1c52-47d4-970d-30f8ee5566f1
          nullable: true
          type: string
        merchant_location_guid:
          example: null
          nullable: true
          type: string
        metadata:
          example: null
          nullable: true
          type: string
        original_description:
          example: MX TECHNOLOGIES PAYMENT
          nullable: true
          type: string
        posted_at:
          example: '2024-12-20T12:00:00Z'
          nullable: true
          type: string
        status:
          example: POSTED
          nullable: true
          type: string
        top_level_category:
          example: Income
          nullable: true
          type: string
        transacted_at:
          example: '2024-12-20T12:00:00Z'
          nullable: true
          type: string
        type:
          type: string
          nullable: true
          example: CREDIT
        updated_at:
          example: '2024-12-20T18:52:38Z'
          nullable: true
          type: string
        user_guid:
          example: USR-ef7a82f6-d6c1-42c4-9061-bdece5c4d44e
          nullable: true
          type: string
        user_id:
          example: null
          nullable: true
          type: string
      type: object
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http

````