MX Technologies Budgets API

The budgets API from MX Technologies — 3 operation(s) for budgets.

Operations 6

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /users/{user_guid}/budgets/generate Auto-generate budgets from spending history · Auto-generate budgets #
Ask an LLM
“Can MX suggest budgets automatically based on what a user has been spending?”
“Why wasn't a budget generated for a category the user spent in last month?”
Tell an agent
Generate budgets automatically for user {user}.
Create budgets for user {user} from their last two months of transactions.
POST /users/{user_guid}/budgets Create a budget for a category · Create a budget #
Ask an LLM
“How do I set a monthly spending limit for a category like Gas?”
“What happens if I create a budget for a category that already has one?”
Tell an agent
Create budget {budget} for user {user}.
Set up a new category budget for user {user} with {budget}.
GET /users/{user_guid}/budgets List a user's budgets · List all budgets #
Ask an LLM
“What budgets has a user set up?”
“Which categories does a user already have a budget for?”
Tell an agent
List all budgets for user {user}.
Show every category budget user {user} has.
GET /users/{user_guid}/budgets/{budget_guid} Read one budget · Read a specific budget #
Ask an LLM
“How much has a user budgeted for one specific budget?”
“Can I pull up a single budget by its GUID?”
Tell an agent
Get budget {budget} for user {user}.
Show the amount and category for user {user}'s budget {budget}.
PUT /users/{user_guid}/budgets/{budget_guid} Change an existing budget · Update a specific budget #
Ask an LLM
“How do I raise a user's grocery budget?”
“Can I edit a budget after it has been created?”
Tell an agent
Update budget {budget} for user {user} with {changes}.
Adjust user {user}'s existing budget {budget}.
DELETE /users/{user_guid}/budgets/{budget_guid} Delete a budget · Delete a budget #
Ask an LLM
“How do I remove a budget a user no longer wants?”
“Can I stop tracking a spending limit for a category?”
Tell an agent destructive · confirm first
Delete budget {budget} for user {user}.
Remove user {user}'s budget {budget}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mx-technologies:mx-technologies-budgets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mx-technologies-budgets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mx Technologies Budgets API
  contact:
    name: MX Platform API
    url: https://www.mx.com/products/platform-api
  version: '1.0'
  description: 'Operations tagged budgets across 2 of this provider''s published API definitions: mx-technologies-platform-openapi.yml, mx-technologies-platform-v20250224-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: Budgets
paths:
  /users/{user_guid}/budgets/generate:
    post:
      tags:
      - Budgets
      operationId: autoGenerateBudgets
      summary: Auto-generate budgets
      parameters:
      - $ref: '#/components/parameters/userGuid'
      description: This endpoint will automatically create budgets for several categories based on existing transactions; these budgets are returned as an array. Specifically, budgets will only be generated if the `user` has at least one `transaction` in a given category during each of the two previous calendar months. For example, if the request is made on March 6, and there is at least one "Bills & Utilities" `transaction` in both January and February, a budget will be generated for "Bills & Utilities." If there are two "Bills & Utilities" transactions in February but none in January, no budget will be generated for that category. If budgets already exist for particular categories, new budgets will be generated and returned based on the available transactions. If one or more budgets remain unchanged, they will nevertheless be returned in the response. If no transaction data for the `user` meet the above criteria, a `422 Unprocessable Entity` error will be returned with status code 4221 along with the message, `There aren't enough transactions to automatically create any budgets`.
      responses:
        '200':
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/BudgetResponseBody'
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
  /users/{user_guid}/budgets:
    parameters:
    - $ref: '#/components/parameters/userGuid'
    post:
      tags:
      - Budgets
      operationId: createBudget
      summary: Create a budget
      description: Create a budget. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. You cannot create a duplicate budget. For example, if you attempt to create a budget for "Gas", but that budget already exist, the request will fail. You can retrieve a list of all existing categories by using the List Categories endpoint.
      requestBody:
        required: true
        content:
          application/vnd.mx.api.v1+json:
            schema:
              $ref: '#/components/schemas/BudgetCreateRequestBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BudgetResponseBody'
    get:
      tags:
      - Budgets
      operationId: listAllBudgets
      summary: List all budgets
      responses:
        '200':
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/BudgetResponseBody'
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
  /users/{user_guid}/budgets/{budget_guid}:
    parameters:
    - $ref: '#/components/parameters/userGuid'
    - $ref: '#/components/parameters/budgetGuid'
    get:
      tags:
      - Budgets
      operationId: readSpecificBudget
      summary: Read a specific budget
      description: Read a specific budget.
      responses:
        '200':
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/BudgetResponseBody'
    put:
      tags:
      - Budgets
      operationId: updateSpecificBudget
      summary: Update a specific budget
      description: Update a specific budget.
      requestBody:
        required: false
        content:
          application/vnd.mx.api.v1+json:
            schema:
              $ref: '#/components/schemas/BudgetUpdateRequestBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BudgetResponseBody'
    delete:
      tags:
      - Budgets
      operationId: deleteBudget
      summary: Delete a budget
      description: Delete a budget.
      responses:
        '204':
          description: No content
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
components:
  schemas:
    BudgetResponse:
      properties:
        amount:
          description: A goal amount set by the user for a category's transaction total during a month.
          example: 153
          type: number
        category_guid:
          description: Unique identifier for the budget category. Defined by MX.
          example: CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a
          type: string
        created_at:
          description: Date and time the budget was created, represented in ISO 8601 format with timestamp.
          example: '2018-10-18T19:51:26+00:00'
          type: string
        guid:
          description: Unique identifier for the budget. Defined by MX.
          example: BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d
          type: string
        is_exceeded:
          description: If the budget has been exceeded, this field will be true. Otherwise, this field will be false.
          example: true
          type: boolean
        is_off_track:
          description: If the budget is off track, this field will be true. Otherwise, this field will be false.
          example: true
          type: boolean
        metadata:
          description: Additional information a partner can store on the budget.
          example: some metadata
          type:
          - string
          - 'null'
        name:
          description: The name of the budget that is visible to the user (ie "Food", "Bills", "Entertainment", etc).
          example: Food & Dining
          type:
          - string
          - 'null'
        off_track_percentage:
          description: The percentage amount of off track spending. (Deprecated).
          type:
          - number
          - 'null'
        parent_guid:
          description: Unique identifier for the parent budget. Defined by MX.
          type:
          - string
          - 'null'
        percent_spent:
          description: The percentage of a budget that has been spent during the current calendar month Calculated as the transaction total divided by the amount and then multiplied by 100.A value of zero will be returned when `amount` is zero.
          example: 1276.34
          type:
          - number
          - 'null'
        projected_spending:
          description: The projected amount of spending for the budget.
          example: 3562.4
          type: number
        revision:
          description: The revision number of this budget record.
          example: 561
          type: integer
        transaction_total:
          description: The cumulative amount of all transactions under the budget.
          example: 1952.8
        updated_at:
          description: Date and time the budget was updated, represented in ISO 8601 format with timestamp.
          example: '2022-06-14T21:17:11+00:00'
        user_guid:
          description: Unique identifier for the user. Defined by MX.
          example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
    BudgetResponseBody:
      properties:
        budget:
          $ref: '#/components/schemas/BudgetResponse'
      type: object
    BudgetCreateRequest:
      properties:
        category_guid:
          example: CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a
          description: Unique identifier of the category.
          type: string
        parent_guid:
          example: BGT-6be44a91-e105-f68a-4770-8c7c0a5c9778
          description: Unique identifier of the parent budget. This is only required when creating a budget on a sub-category.
          type: string
        amount:
          example: 1000
          description: Amount of the budget.
          type: integer
        metadata:
          example: Additional information
          description: Additional information a partner can store on the budget.
          type: string
        skip_webhook:
          example: true
          description: When set to true, this parameter will prevent a webhook from being triggered by the request.
          type: boolean
      required:
      - category_guid
      - parent_guid
      type: object
    BudgetUpdateRequest:
      properties:
        amount:
          example: 1000
          description: Amount of the budget.
          type: integer
        metadata:
          example: Additional information
          description: Additional information a partner can store on the budget.
          type: string
        skip_webhook:
          example: true
          description: When set to true, this parameter will prevent a webhook from being triggered by the request.
          type: boolean
      type: object
    BudgetUpdateRequestBody:
      properties:
        budget:
          $ref: '#/components/schemas/BudgetUpdateRequest'
      type: object
    BudgetCreateRequestBody:
      properties:
        budget:
          $ref: '#/components/schemas/BudgetCreateRequest'
      type: object
    BudgetResponse_2:
      properties:
        amount:
          description: A goal amount set by the user for a category's transaction total during a month.
          example: 153
          type: number
        category_guid:
          description: The unique identifier for the category. Defined by MX.
          example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
          type: string
        created_at:
          description: The date and time the budget was created, represented in ISO 8601 format with a timestamp.
          example: '2025-02-13T18:08:00+00:00'
          type: string
        guid:
          description: Unique identifier for the `budget`. Defined by MX.
          example: BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d
          type: string
        is_exceeded:
          description: If the budget has been exceeded, this field will be true. Otherwise, this field will be false.
          example: true
          type: boolean
        is_off_track:
          description: If the budget is off track, this field will be true. Otherwise, this field will be false.
          example: true
          type: boolean
        metadata:
          description: Additional information you stored about the `budget`.
          example: some metadata
          type:
          - string
          - 'null'
        name:
          description: The name of the budget that is visible to the user (ie "Food", "Bills", "Entertainment", etc).
          example: Food & Dining
          type:
          - string
          - 'null'
        off_track_percentage:
          description: The percentage amount of off track spending. (Deprecated).
          type:
          - number
          - 'null'
        parent_guid:
          description: Unique identifier for the parent budget. Defined by MX.
          type:
          - string
          - 'null'
        percent_spent:
          description: The percentage of a budget that has been spent during the current calendar month Calculated as the transaction total divided by the amount and then multiplied by 100.A value of zero will be returned when `amount` is zero.
          example: 1276.34
          type:
          - number
          - 'null'
        projected_spending:
          description: The projected amount of spending for the budget.
          example: 3562.4
          type: number
        revision:
          description: The revision number of this budget record.
          example: 561
          type: integer
        transaction_total:
          description: The cumulative amount of all transactions under the budget.
          example: 1952.8
        updated_at:
          description: Date and time the budget was updated, represented in ISO 8601 format with timestamp.
          example: '2022-06-14T21:17:11+00:00'
        user_guid:
          description: Unique identifier for the user. Defined by MX.
          example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
    BudgetCreateRequest_2:
      properties:
        category_guid:
          description: The unique identifier for the category.
          example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
          type: string
        parent_guid:
          example: BGT-6be44a91-e105-f68a-4770-8c7c0a5c9778
          description: Unique identifier of the parent budget. This is only required when creating a budget on a sub-category.
          type: string
        amount:
          example: 1000
          description: Amount of the budget.
          type: integer
        metadata:
          example: Additional information
          description: Additional information you can store on the `budget`.
          type: string
        skip_webhook:
          example: true
          description: When set to true, this parameter will prevent a webhook from being triggered by the request.
          type: boolean
      required:
      - category_guid
      - parent_guid
      type: object
    BudgetUpdateRequest_2:
      properties:
        amount:
          example: 1000
          description: Amount of the budget.
          type: integer
        metadata:
          example: Additional information
          description: Additional information you can store on the `budget`.
          type: string
        skip_webhook:
          example: true
          description: When set to true, this parameter will prevent a webhook from being triggered by the request.
          type: boolean
      type: object
  parameters:
    budgetGuid:
      name: budget_guid
      description: The unique identifier for the budget. Defined by MX.
      required: true
      in: path
      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
    acceptVersion:
      name: Accept-Version
      in: header
      required: true
      schema:
        type: string
        default: v20250224
        example: v20250224
      description: MX Platform API version.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    basicAuth:
      scheme: basic
      type: http
x-refined-from:
- mx-technologies-platform-openapi.yml
- mx-technologies-platform-v20250224-openapi.yml
x-provenance:
  method: harvested
  publisher: MX Technologies
  source: https://raw.githubusercontent.com/mxenabled/openapi/HEAD/openapi/mx_platform_api.yml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)