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 notifications API
version: '20111101'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: notifications
paths:
/users/{user_guid}/notifications:
parameters:
- $ref: '#/components/parameters/userGuid'
post:
tags:
- notifications
operationId: createNotification
summary: Create a notification
description: All notifications created through the API will be of notification type `API_NOTIFICATION`, channel `PUSH`, and will not be associated to an entity. No other channels are supported. This will only have an effect for clients using an MX mobile application.
parameters:
- $ref: '#/components/parameters/content'
- $ref: '#/components/parameters/subject'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResponseBody'
get:
tags:
- notifications
operationId: listNotifications
summary: List notifications
description: All notifications for the user can be listed, including notifications created by MX for other channels besides `PUSH`.
parameters:
- $ref: '#/components/parameters/fromDate'
- $ref: '#/components/parameters/toDate'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationsResponseBody'
/users/{user_guid}/notifications/{notification_guid}:
get:
tags:
- notifications
operationId: readNotifications
summary: Read notifications
description: 'Can pull up any notification associated with the user, including notifications created by MX for other channels besides `PUSH`.
'
parameters:
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/notificationGuid'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResponseBody'
components:
schemas:
NotificationsResponseBody:
properties:
notifications:
items:
$ref: '#/components/schemas/NotificationResponse'
type: object
NotificationResponse:
properties:
guid:
example: TF-b53294f5-2356-4782-9f81-ae064c42b40a
content:
example: The content related to the notification.
deep_link_guid:
example: BGT-e386a323-e452-47f2-b2fd-1ac3c18533de
delivered_at:
example: null
entity_guid:
example: BGT-e386a323-e452-47f2-b2fd-1ac3c18533de
has_been_delivered:
example: true
has_been_viewed:
example: false
notification_type:
example: 2
subject:
example: You're projected to spend $1,920.07 more than you've budgeted for Fees & Charges. You've already spent $65.67 of $316.00.
channel:
example: push
NotificationResponseBody:
properties:
notification:
$ref: '#/components/schemas/NotificationResponse'
type: object
parameters:
notificationGuid:
name: notification_guid
description: The unique identifier for notifications. Defined by MX.
example: NTF-b53294f5-2356-4782-9f81-ae064c42b40a
in: path
required: true
schema:
type: string
page:
description: Results are paginated. Specify current page.
example: 1
in: query
name: page
schema:
type: integer
toDate:
description: Filter transactions to this date (at midnight). This only supports ISO 8601 format without timestamp (YYYY-MM-DD). Defaults to 5 days forward from the day the request is made to capture pending transactions.
example: '2024-03-31'
in: query
name: to_date
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
subject:
name: subject
description: The subject related to the notification.
required: true
in: query
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
content:
name: content
description: The information related to the notification.
required: true
in: query
schema:
type: string
fromDate:
description: Filter transactions from this date. This only supports ISO 8601 format without timestamp (YYYY-MM-DD). Defaults to 120 days ago if not provided.
example: '2024-01-01'
in: query
name: from_date
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
basicAuth:
scheme: basic
type: http