MX Technologies Categories API

The categories API from MX Technologies — 5 operation(s) for categories.

Operations 8

GET /categories/default List default categories #
GET /categories/{category_guid} Read a default category #
GET /users/{user_guid}/categories List categories #
POST /users/{user_guid}/categories Create category #
GET /users/{user_guid}/categories/default List default categories by user #
DELETE /users/{user_guid}/categories/{category_guid} Delete category #
GET /users/{user_guid}/categories/{category_guid} Read a custom category #
PUT /users/{user_guid}/categories/{category_guid} Update category #

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-categories-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-categories-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mx Technologies Categories API
  contact:
    name: MX Platform API
    url: https://www.mx.com/products/platform-api
  version: '1.0'
  description: 'Operations tagged categories 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: Categories
paths:
  /categories/default:
    get:
      description: Use this endpoint to retrieve a list of all the default categories and subcategories offered within the MX Platform API. In other words, each item in the returned list will have its `is_default` field set to `true`. There are currently 119 default categories and subcategories. Both the _list default categories_ and _list default categories by user_ endpoints return the same results. The different routes are provided for convenience.
      operationId: listDefaultCategories
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPage'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/CategoriesResponseBody'
          description: OK
      summary: List default categories
      tags:
      - Categories
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
  /categories/{category_guid}:
    get:
      description: Use this endpoint to read the attributes of a default category.
      operationId: readDefaultCategory
      parameters:
      - $ref: '#/components/parameters/categoryGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryResponseBody'
          description: OK
      summary: Read a default category
      tags:
      - Categories
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
  /users/{user_guid}/categories:
    get:
      description: Use this endpoint to list all categories associated with a `user`, including both default and custom categories.
      operationId: listCategories
      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/CategoriesResponseBody'
          description: OK
      summary: List categories
      tags:
      - Categories
    post:
      description: Use this endpoint to create a new custom category for a specific `user`.
      operationId: createCategory
      parameters:
      - $ref: '#/components/parameters/userGuid'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryCreateRequestBody'
        description: Custom category object to be created
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryResponseBody'
          description: OK
      summary: Create category
      tags:
      - Categories
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
  /users/{user_guid}/categories/default:
    get:
      description: Use this endpoint to retrieve a list of all the default categories and subcategories, scoped by user, offered within the MX Platform API. In other words, each item in the returned list will have its `is_default` field set to `true`. There are currently 119 default categories and subcategories. Both the _list default categories_ and _list default categories by user_ endpoints return the same results. The different routes are provided for convenience.
      operationId: listDefaultCategoriesByUser
      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/CategoriesResponseBody'
          description: OK
      summary: List default categories by user
      tags:
      - Categories
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
  /users/{user_guid}/categories/{category_guid}:
    delete:
      description: Use this endpoint to delete a specific custom category according to its unique GUID. The API will respond with an empty object and a status of `204 No Content`.
      operationId: deleteCategory
      parameters:
      - $ref: '#/components/parameters/categoryGuid'
      - $ref: '#/components/parameters/userGuid'
      responses:
        '204':
          description: No Content
      summary: Delete category
      tags:
      - Categories
    get:
      description: Use this endpoint to read the attributes of either a default category or a custom category.
      operationId: readCategory
      parameters:
      - $ref: '#/components/parameters/categoryGuid'
      - $ref: '#/components/parameters/userGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryResponseBody'
          description: OK
      summary: Read a custom category
      tags:
      - Categories
    put:
      description: Use this endpoint to update the attributes of a custom category according to its unique GUID.
      operationId: updateCategory
      parameters:
      - $ref: '#/components/parameters/categoryGuid'
      - $ref: '#/components/parameters/userGuid'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryUpdateRequestBody'
        description: Category object to be updated (While no single parameter is required, the `category` object cannot be empty)
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryResponseBody'
          description: OK
      summary: Update category
      tags:
      - Categories
    servers:
    - url: https://int-api.mx.com
    - url: https://api.mx.com
components:
  parameters:
    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
    page:
      description: Results are paginated. Specify current page.
      example: 1
      in: query
      name: page
      schema:
        type: integer
    categoryGuid:
      name: category_guid
      description: The unique id for a `category`.
      in: path
      required: true
      schema:
        type: string
        example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
    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
    recordsPerPage:
      description: This specifies the number of records to be returned on each page. Defaults to `25`. The valid range is from `10` to `100`. If the value exceeds `100`, the default value of `25` will be used instead.
      example: 10
      in: query
      name: records_per_page
      schema:
        type: integer
    acceptVersion:
      name: Accept-Version
      in: header
      required: true
      schema:
        type: string
        default: v20250224
        example: v20250224
      description: MX Platform API version.
  schemas:
    CategoryUpdateRequest:
      properties:
        metadata:
          example: some metadata
          type: string
        name:
          example: Web shopping
          type: string
      type: object
    CategoryUpdateRequestBody:
      properties:
        category:
          $ref: '#/components/schemas/CategoryUpdateRequest'
      type: object
    CategoriesResponseBody:
      properties:
        categories:
          items:
            $ref: '#/components/schemas/CategoryResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    CategoryCreateRequest:
      properties:
        metadata:
          example: some metadata
          type: string
        name:
          example: Online Shopping
          type: string
        parent_guid:
          example: CAT-aad51b46-d6f7-3da5-fd6e-492328b3023f
          type: string
      required:
      - name
      - parent_guid
      type: object
    CategoryResponse:
      properties:
        created_at:
          description: Category creation date-time.
          example: '2015-04-13T18:01:23.000Z'
          type:
          - string
          - 'null'
        guid:
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          type:
          - string
          - 'null'
        is_default:
          example: true
          type:
          - boolean
          - 'null'
        is_income:
          example: false
          type:
          - boolean
          - 'null'
        metadata:
          example: some metadata
          type:
          - string
          - 'null'
        name:
          example: Auto Insurance
          type:
          - string
          - 'null'
        parent_guid:
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          type:
          - string
          - 'null'
        updated_at:
          example: '2015-05-13T18:01:23.000Z'
          type:
          - string
          - 'null'
      type: object
    CategoryCreateRequestBody:
      properties:
        category:
          $ref: '#/components/schemas/CategoryCreateRequest'
      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
    CategoryResponseBody:
      properties:
        category:
          $ref: '#/components/schemas/CategoryResponse'
      type: object
    CategoryUpdateRequest_2:
      properties:
        metadata:
          description: Additional information you can store on the `category`.
          example: some metadata
          type: string
        name:
          example: Web shopping
          type: string
          description: The name of the category.
      type: object
    CategoryCreateRequest_2:
      properties:
        metadata:
          description: Additional information you can store on the `category`.
          example: some metadata
          type: string
        name:
          example: Online Shopping
          type: string
          description: The name of the category.
        parent_guid:
          example: CAT-aad51b46-d6f7-3da5-fd6e-492328b3023f
          type: string
          description: The unique identifier for the parent category.
      required:
      - name
      - parent_guid
      type: object
    CategoryResponse_2:
      properties:
        created_at:
          description: The date and time the category was created, represented in ISO 8601 format with a timestamp.
          example: '2025-02-13T18:08:00+00:00'
          type:
          - string
          - 'null'
        guid:
          description: The unique identifier for the category. Defined by MX.
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          type:
          - string
          - 'null'
        is_default:
          description: Indicates whether the category is an MX-created default category. This will always be `false` for custom categories.
          example: true
          type:
          - boolean
          - 'null'
        is_income:
          description: Indicates whether the transaction is income.
          example: false
          type:
          - boolean
          - 'null'
        metadata:
          description: Additional information you stored on the `category`.
          example: some metadata
          type:
          - string
          - 'null'
        name:
          example: Auto Insurance
          type:
          - string
          - 'null'
          description: The name of the category.
        parent_guid:
          description: The unique identifier for the parent category. Defined by MX.
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          type:
          - string
          - 'null'
        updated_at:
          description: 'The date and time the resource was last updated in ISO 8601 format with a timestamp.


            For categories, this field will always be `null` when `is_default` is `true`.

            '
          example: '2025-02-13T18:09:00+00:00'
          type:
          - string
          - 'null'
      type: object
    PaginationResponse_2:
      properties:
        current_page:
          description: The page delivered by the current response.
          example: 1
          type: integer
        per_page:
          description: The number of records delivered with each page.
          example: 25
          type: integer
        total_entries:
          description: The total number of records available.
          example: 1
          type: integer
        total_pages:
          description: The total number of pages available.
          example: 1
          type: integer
      type: object
  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