MX Technologies users API

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

OpenAPI Specification

mx-technologies-users-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 users API
  version: '20111101'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: users
paths:
  /users:
    get:
      description: Use this endpoint to list every user you've created in the MX Platform API.
      operationId: listUsers
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/recordsPerPageMax1000'
      - $ref: '#/components/parameters/userId'
      - $ref: '#/components/parameters/userEmail'
      - $ref: '#/components/parameters/userIsDisabled'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/UsersResponseBody'
          description: OK
      summary: List users
      tags:
      - users
    post:
      description: Use this endpoint to create a new user. The API will respond with the newly-created user object if successful, containing a `guid` that you'll set as the `user_guid` in other requests when required. Disabling a user means that accounts and transactions associated with it will not be updated in the background by MX. It will also restrict access to that user’s data until they are no longer disabled.
      operationId: createUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreateRequestBody'
        description: User object to be created. (None of these parameters are required, but the user object cannot be empty)
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/UserResponseBody'
          description: OK
      summary: Create user
      tags:
      - users
  /users/{user_guid}:
    delete:
      description: 'Use this endpoint to delete the specified `user`. The response will have a status of `204 No Content` without an object.


        :::warning

        Deleting a user is permanent. Deleted users can never be restored. For more info, see [Deleting Objects](/api-reference/platform-api/overview/deleting-objects).

        :::

        '
      operationId: deleteUser
      parameters:
      - $ref: '#/components/parameters/acceptHeader'
      - $ref: '#/components/parameters/userGuid'
      responses:
        '204':
          description: No Content
      summary: Delete user
      tags:
      - users
    get:
      description: Use this endpoint to read the attributes of a specific user.
      operationId: readUser
      parameters:
      - $ref: '#/components/parameters/userGuid'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/UserResponseBody'
          description: OK
      summary: Read user
      tags:
      - users
    put:
      description: Use this endpoint to update the attributes of the specified user.
      operationId: updateUser
      parameters:
      - $ref: '#/components/parameters/userGuid'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateRequestBody'
        description: User object to be updated (None of these parameters are required, but the user object cannot be empty.)
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/UserResponseBody'
          description: OK
      summary: Update user
      tags:
      - users
  /users/{user_identifier}:
    delete:
      description: 'Use this endpoint to delete the specified `user`. The response will have a status of `204 No Content` without an object.


        :::warning

        Deleting a user is permanent. Deleted users can never be restored. For more info, see [Deleting Objects](https://docs.mx.com/api-reference/platform-api/overview/deleting-objects).

        :::

        '
      operationId: deleteUser
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/acceptHeader_2'
      - $ref: '#/components/parameters/userIdentifier'
      responses:
        '204':
          description: No Content
      summary: Delete user
      tags:
      - users
    get:
      description: Use this endpoint to read the attributes of a specific user.
      operationId: readUser
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/userIdentifier'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponseBody'
          description: OK
      summary: Read user
      tags:
      - users
    put:
      description: Use this endpoint to update the attributes of the specified user.
      operationId: updateUser
      parameters:
      - $ref: '#/components/parameters/acceptVersion'
      - $ref: '#/components/parameters/userIdentifier'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateRequestBody'
        description: User object to be updated (None of these parameters are required, but the user object cannot be empty.)
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponseBody'
          description: OK
      summary: Update user
      tags:
      - users
components:
  parameters:
    userId:
      description: The user `id` to search for.
      example: u-12324-abdc
      in: query
      name: id
      schema:
        type: string
    userEmail:
      description: The user `email` to search for.
      example: example@example.com
      in: query
      name: email
      schema:
        type: string
    acceptHeader:
      description: Specifies the media type expected in the response.
      in: header
      name: Accept
      required: true
      schema:
        type: string
        example: application/vnd.mx.api.v1+json
    userIsDisabled:
      description: Search for users that are diabled.
      example: true
      in: query
      name: is_disabled
      schema:
        type: boolean
    acceptVersion:
      name: Accept-Version
      in: header
      required: true
      schema:
        type: string
        default: v20250224
        example: v20250224
      description: MX Platform API version.
    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
    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
    userIdentifier:
      description: Use either the user `id` you defined or the MX-defined user `guid`. See [MX-Defined GUIDs vs IDs Defined by You​](https://docs.mx.com/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you).
      in: path
      required: true
      name: user_identifier
      schema:
        type: string
    acceptHeader_2:
      description: Specifies the media type expected in the response.
      in: header
      name: Accept
      required: true
      schema:
        type: string
        example: application/json
  schemas:
    UserResponse:
      properties:
        email:
          example: email@provider.com
          nullable: true
          type: string
        guid:
          example: USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6
          nullable: true
          type: string
        id:
          example: My-Unique-ID
          nullable: true
          type: string
        is_disabled:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
          nullable: true
          type: string
      type: object
    UserCreateRequest:
      properties:
        email:
          example: email@provider.com
          type: string
        id:
          example: My-Unique-ID
          type: string
        is_disabled:
          example: false
          type: boolean
        metadata:
          example: '{\"type\": \"individual\", \"status\": \"preferred\"}'
          type: string
      type: object
    UserResponseBody:
      properties:
        user:
          $ref: '#/components/schemas/UserResponse'
      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
    UserUpdateRequestBody:
      properties:
        user:
          $ref: '#/components/schemas/UserUpdateRequest'
      type: object
    UserCreateRequestBody:
      properties:
        user:
          $ref: '#/components/schemas/UserCreateRequest'
      type: object
    UserUpdateRequest:
      properties:
        email:
          example: email@provider.com
          type: string
        id:
          example: My-Unique-ID
          type: string
        is_disabled:
          example: false
          type: boolean
        metadata:
          example: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
          type: string
      type: object
    UsersResponseBody:
      properties:
        users:
          items:
            $ref: '#/components/schemas/UserResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    basicAuth:
      scheme: basic
      type: http