MX

MX Tags API

Tags and taggings are two resources in the MX Platform API that, when used together, give end users more control over organizing their transactions. A tag is a custom label that can be applied to a transaction. After you create a tag, use it for tagging. This means you should actually apply the tag to a particular transaction. Together, they're a powerful tool for personalization, customization, and money management. For a guide on creating a tag and then applying it to a specific transaction with a tagging, see [Custom Tags and Taggings](docs.mx.com/products/experience/pfm/integration-guides/personalization/).

Operations 5

GET /users/{user_guid}/tags List tags #
POST /users/{user_guid}/tags Create tag #
DELETE /users/{user_guid}/tags/{tag_guid} Delete tag #
GET /users/{user_guid}/tags/{tag_guid} Read tag #
PUT /users/{user_guid}/tags/{tag_guid} Update tag #

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-tags-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 email required.

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

OpenAPI Specification

mx-tags-api-openapi.yml Raw ↑
openapi: 3.2.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.


    ## What''s Changed?


    Several endpoints, headers, and fields changed in `v20250224`. For more on breaking changes, refer to our [versioning](/api-reference/platform-api/overview/versioning#v20250224) and [migration](/api-reference/platform-api/overview/migration) guides.


    ## Version Header

    Versions are set in the `Accept-Version` header of API requests. Version numbers correspond with the date associated with that version.  The example below uses the version `v20250224`.


    ```

    -H ''Accept: application/json''

    -H ''Accept-Version: v20250224''

    ```


    ---

    '
  title: MX Platform Tags API
  version: '20250224'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: tags
  description: "Tags and taggings are two resources in the MX Platform API that, when used together, give end users more control over organizing their transactions. \n\nA tag is a custom label that can be applied to a transaction.\n\nAfter you create a tag, use it for tagging. This means you should actually apply the tag to a particular transaction.\n\nTogether, they're a powerful tool for personalization, customization, and money management.\n\nFor a guide on creating a tag and then applying it to a specific transaction with a tagging, see [Custom Tags and Taggings](docs.mx.com/products/experience/pfm/integration-guides/personalization/).\n"
paths:
  /users/{user_guid}/tags:
    get:
      description: Use this endpoint to list all tags associated with the specified `user`. Each user includes the `Business` tag by default.
      operationId: listTags
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userGuid'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponseBody'
          description: OK
      summary: List tags
      tags:
      - tags
    post:
      description: Use this endpoint to create a new custom tag.
      operationId: createTag
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/userGuid'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagCreateRequestBody'
        description: Tag object to be created with required parameters (tag_guid)
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagResponseBody'
          description: OK
      summary: Create tag
      tags:
      - tags
  /users/{user_guid}/tags/{tag_guid}:
    delete:
      description: Use this endpoint to permanently delete a specific tag based on its unique GUID. If successful, the API will respond with status of `204 No Content`.
      operationId: deleteTag
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/tagGuid'
      - $ref: '#/components/parameters/acceptHeader'
      - $ref: '#/components/parameters/userGuid'
      responses:
        '204':
          description: No Content
      summary: Delete tag
      tags:
      - tags
    get:
      description: Use this endpoint to read the attributes of a particular tag according to its unique GUID.
      operationId: readTag
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/tagGuid'
      - $ref: '#/components/parameters/userGuid'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagResponseBody'
          description: OK
      summary: Read tag
      tags:
      - tags
    put:
      description: Use this endpoint to update the name of a specific tag according to its unique GUID.
      operationId: updateTag
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/tagGuid'
      - $ref: '#/components/parameters/userGuid'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagUpdateRequestBody'
        description: Tag object to be updated with required parameter (tag_guid)
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagResponseBody'
          description: OK
      summary: Update tag
      tags:
      - tags
components:
  schemas:
    TagResponse:
      properties:
        guid:
          description: The unique identifier for the tag. Defined by MX.
          example: TAG-aef36e72-6294-4c38-844d-e573e80aed52
          type:
          - string
          - 'null'
        name:
          description: The name of the tag.
          example: MY TAG
          type:
          - string
          - 'null'
        user_guid:
          description: The unique identifier for the user. Defined by MX.
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          type:
          - string
          - 'null'
      type: object
    PaginationResponse:
      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
    TagUpdateRequestBody:
      properties:
        tag:
          $ref: '#/components/schemas/TagUpdateRequest'
      type: object
    TagCreateRequestBody:
      properties:
        tag:
          $ref: '#/components/schemas/TagCreateRequest'
      type: object
    TagsResponseBody:
      properties:
        tags:
          items:
            $ref: '#/components/schemas/TagResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    TagResponseBody:
      properties:
        tag:
          $ref: '#/components/schemas/TagResponse'
      type: object
    TagCreateRequest:
      properties:
        name:
          description: The name of the tag.
          example: MY TAG
          type: string
      required:
      - name
      type: object
    TagUpdateRequest:
      properties:
        name:
          description: The name of the tag.
          example: MY TAG
          type: string
      required:
      - name
      type: object
  parameters:
    acceptVersion:
      name: Accept-Version
      in: header
      required: true
      schema:
        type: string
        default: v20250224
        example: v20250224
      description: MX Platform API version.
    page:
      description: Results are paginated. Specify current page.
      example: 1
      in: query
      name: page
      schema:
        type: integer
    acceptHeader:
      description: Specifies the media type expected in the response.
      in: header
      name: Accept
      required: true
      schema:
        type: string
        example: application/json
    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
    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
    tagGuid:
      description: The unique id for a `tag`.
      example: TAG-aef36e72-6294-4c38-844d-e573e80aed52
      in: path
      name: tag_guid
      required: true
      schema:
        type: string
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http
      description: 'The MX Platform API requires basic access authentication using your `client_id` and `api_key`. These credentials must be Base64 encoded and included in the Authorization header of each API request to ensure secure access.


        Here''s an example using curl to access `v20250224`. Replace `https://int-api.mx.com/endpoint` with the actual API endpoint you wish to access and your Base64 encoded `client_id` and `api_key`.


        ```

        curl -L -X POST `https://int-api.mx.com/endpoint'' \

        -H ''Content-Type: application/json'' \

        -H ''Accept: application/json'' \

        -H ''Accept-Version: v20250224''

        -H ''Authorization: Basic BASE_64_ENCODING_OF{client_id:api_key}''

        ```

        '
    bearerAuth:
      type: http
      scheme: bearer