MX Technologies spending plan API

The spending plan API from MX Technologies — 9 operation(s) for spending plan.

OpenAPI Specification

mx-technologies-spending-plan-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 spending plan API
  version: '20111101'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: spending plan
paths:
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items:
    post:
      description: This endpoint creates a new `spending_plan_iteration_item`.
      operationId: createSpendingPlanIterationItem
      parameters:
      - $ref: '#/components/parameters/spendingPlanGuid'
      - $ref: '#/components/parameters/userGuid'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpendingPlanIterationItemCreateRequestBody'
        description: Iteration item to be created with required parameter (planned_amount)
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanIterationItemResponse'
          description: OK
      summary: Create spending plan iteration item
      tags:
      - spending plan
    get:
      description: Use this endpoint to list all the spending plan `iteration_items` associated with the `iteration`.
      operationId: listSpendingPlanIterationItems
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanIterationItemsResponseBody'
          description: OK
      summary: List spending plan iteration items
      tags:
      - spending plan
  /users/{user_guid}/spending_plans:
    post:
      description: This endpoint creates a new `spending_plan` for the user.
      operationId: createSpendingPlan
      parameters:
      - $ref: '#/components/parameters/userGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanResponse'
          description: OK
      summary: Create spending plan
      tags:
      - spending plan
    get:
      description: Use this endpoint to list all the spending plans associated with the user.
      operationId: listSpendingPlans
      parameters:
      - $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/SpendingPlansResponseBody'
          description: OK
      summary: List spending plans
      tags:
      - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts/{spending_plan_account_guid}:
    delete:
      description: Use this endpoint to delete a `spending_plan_account`.
      operationId: deleteSpendingPlanAccount
      parameters:
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      - $ref: '#/components/parameters/spendingPlanAccountGuid'
      responses:
        '204':
          description: No Content
      summary: Delete spending plan account
      tags:
      - spending plan
    get:
      description: Use this endpoint to read the attributes of a specific spending plan account according to its unique GUID.
      operationId: readSpendingPlanAccount
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      - $ref: '#/components/parameters/spendingPlanAccountGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanAccountResponse'
          description: OK
      summary: Read spending plan account
      tags:
      - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid}:
    delete:
      description: Use this endpoint to delete a spending plan `iteration_item`.
      operationId: deleteSpendingPlanIterationItem
      parameters:
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      - $ref: '#/components/parameters/iterationItemGuid'
      responses:
        '204':
          description: No Content
      summary: Delete spending plan iteration item
      tags:
      - spending plan
    get:
      description: Use this endpoint to read the attributes of a specific spending plan `iteration_item` according to its unique GUID.
      operationId: readSpendingPlanIterationItem
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      - $ref: '#/components/parameters/iterationItemGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanIterationItemResponse'
          description: OK
      summary: Read a spending plan iteration item
      tags:
      - spending plan
    put:
      description: Use this endpoint to update an existing `spending_plan_iteration_item`.
      operationId: updateSpendingPlanIterationItem
      parameters:
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      - $ref: '#/components/parameters/iterationItemGuid'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpendingPlanIterationItemCreateRequestBody'
        description: Iteration item to be updated with required parameter (planned_amount)
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanIterationItemResponse'
          description: OK
      summary: Update a spending plan iteration item
      tags:
      - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}:
    delete:
      description: Use this endpoint to delete a user's `spending_plan`.
      operationId: deleteSpendingPlan
      parameters:
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      responses:
        '204':
          description: No Content
      summary: Delete spending plan
      tags:
      - spending plan
    get:
      description: Use this endpoint to read the attributes of a specific spending plan according to its unique GUID.
      operationId: readSpendingPlanUser
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanResponse'
          description: OK
      summary: Read a spending plan for a user
      tags:
      - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts:
    get:
      description: Use this endpoint to list all the spending plan accounts associated with the spending plan.
      operationId: listSpendingPlanAccounts
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanAccountsResponse'
          description: OK
      summary: List spending plan accounts
      tags:
      - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations:
    get:
      description: Use this endpoint to list all the spending plan `iterations` associated with the `spending_plan`.
      operationId: listSpendingPlanIterations
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanIterationsResponse'
          description: OK
      summary: List spending plan iterations
      tags:
      - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current:
    get:
      description: Use this endpoint to read the attributes of the current spending plan `iteration`.
      operationId: readCurrentSpendingPlanIteration
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanIterationResponse'
          description: OK
      summary: Read current spending plan iteration
      tags:
      - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/{iteration_number}:
    get:
      description: Use this endpoint to read the attributes of a specific spending plan `iteration` according to its `iteration_number`.
      operationId: readSpendingPlanIteration
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      - $ref: '#/components/parameters/spendingPlanGuid'
      - $ref: '#/components/parameters/iterationNumber'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/SpendingPlanIterationResponse'
          description: OK
      summary: Read a spending plan iteration
      tags:
      - spending plan
components:
  schemas:
    SpendingPlansResponseBody:
      properties:
        spending_plans:
          items:
            $ref: '#/components/schemas/SpendingPlanResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    SpendingPlanAccountsResponse:
      properties:
        spending_plan_accounts:
          items:
            $ref: '#/components/schemas/SpendingPlanAccountResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    SpendingPlanResponse:
      properties:
        created_at:
          example: '2016-10-13T18:08:00+00:00'
          nullable: true
          type: string
        current_iteration_number:
          example: 1
          nullable: true
          type: integer
        guid:
          example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
          nullable: true
          type: string
        updated_at:
          example: '2016-10-13T18:09:00+00:00'
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    SpendingPlanIterationItemResponse:
      properties:
        actual_amount:
          example: 345
          nullable: true
          type: number
        category_guid:
          example: CAT-40faf068-abb4-405c-8f6a-e883ed541fff
          nullable: true
          type: string
        created_at:
          example: '2016-10-13T18:08:00+00:00'
          nullable: true
          type: string
        guid:
          example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
          nullable: true
          type: string
        item_type:
          example: '1'
          nullable: true
          type: string
        planned_amount:
          example: 110
          nullable: true
          type: number
        scheduled_payment_guid:
          example: SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b
          nullable: true
          type: string
        spending_plan_iteration_guid:
          example: SPI-848e6648-3fa3-4632-ac8f-e65f03167102
          nullable: true
          type: string
        top_level_category_guid:
          example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
          nullable: true
          type: string
        transaction_guids:
          items:
            example: TRN-265abee9-889b-af6a-c69b-25157db2bdd9
            nullable: true
            type: string
          type: array
        updated_at:
          example: '2016-10-13T18:09:00+00:00'
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    SpendingPlanIterationResponse:
      properties:
        created_at:
          example: '2016-10-13T18:08:00+00:00'
          nullable: true
          type: string
        end_on:
          example: '2023-05-31'
          nullable: true
          type: string
        guid:
          example: SPI-848e6648-3fa3-4632-ac8f-e65f03167102
          nullable: true
          type: string
        iteration_number:
          example: 1
          nullable: true
          type: integer
        spending_plan_guid:
          example: SPL-dbfe201d-c341-4bff-93c0-62a918d0b600
          nullable: true
          type: string
        start_on:
          example: '2023-05-01'
          nullable: true
          type: string
        updated_at:
          example: '2016-10-13T18:09:00+00:00'
          nullable: true
          type: string
        user_guid:
          example: USR-72086f59-6684-4adf-8f29-c4d32db43cd7
          nullable: true
          type: string
      type: object
    SpendingPlanIterationItemCreateRequestBody:
      properties:
        category_guid:
          example: CAT-40faf068-abb4-405c-8f6a-e883ed541fff
          type: string
        item_type:
          example: 1
          type: number
        planned_amount:
          example: 110
          type: number
        scheduled_payment_guid:
          example: SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b
          type: string
        top_level_category_guid:
          example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
          type: string
      required:
      - planned_amount
      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
    SpendingPlanAccountResponse:
      properties:
        account_guid:
          example: ACT-97d3948f-ebe7-434a-9bd0-20b29d67c9d4
          type: string
        client_guid:
          example: CLT-024284fc-a6a7-42ee-b363-dab9343e3f72
          type: string
        created_at:
          example: '2023-04-27T23:14:16Z'
          type: string
        guid:
          example: SPA-c76e4a85-b2c4-4335-82b7-8f8b8f28c35a
          type: string
        spending_plan_guid:
          example: SPL-dbfe201d-c341-4bff-93c0-62a918d0b600
          type: string
        updated_at:
          example: '2023-04-27T23:14:16Z'
          type: string
        user_guid:
          example: USR-72086f59-6684-4adf-8f29-c4d32db43cd7
          type: string
      type: object
    SpendingPlanIterationsResponse:
      properties:
        iterations:
          items:
            $ref: '#/components/schemas/SpendingPlanIterationResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    SpendingPlanIterationItemsResponseBody:
      properties:
        iteration_items:
          items:
            $ref: '#/components/schemas/SpendingPlanIterationItemResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
  parameters:
    spendingPlanAccountGuid:
      description: The unique ID for the specified account.
      example: ACT-e9f80fee-84da-7s7r-9a5e-0346g4279b4c
      in: path
      name: spending_plan_account_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
    iterationNumber:
      description: The current iteration number for the spending plan `iteration`.
      example: 1
      in: path
      name: iteration_number
      required: true
      schema:
        type: integer
    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
    iterationItemGuid:
      description: The unique ID for the `iteration_item`.
      example: SII-a4dc1549-da28-1245-9c9c-53eee4cdfbe3
      in: path
      name: iteration_item_guid
      required: true
      schema:
        type: string
    page:
      description: Results are paginated. Specify current page.
      example: 1
      in: query
      name: page
      schema:
        type: integer
    spendingPlanGuid:
      description: The unique ID for the `spending_plan`.
      example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
      in: path
      name: spending_plan_guid
      required: true
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    basicAuth:
      scheme: basic
      type: http