MX Technologies processor token API

The processor token API from MX Technologies — 7 operation(s) for processor token.

OpenAPI Specification

mx-technologies-processor-token-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 processor token API
  version: '20111101'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: processor token
paths:
  /authorization_code:
    post:
      description: Clients use this endpoint to request an authorization code according to the parameters specified in the scope. Clients then pass this code to processors. Processor access is scoped only to the GUIDs and features specified in this request. Before requesting an authorization code which includes a member in the scope, clients must have verified that member.
      operationId: requestAuthorizationCode
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizationCodeRequestBody'
        description: The scope for the authorization code.
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/AuthorizationCodeResponseBody'
          description: OK
      summary: Request an authorization code
      tags:
      - processor token
  /payment_processor_authorization_code:
    post:
      description: (This endpoint is deprecated. Clients should use `/authorization_code`.) Clients use this endpoint to request an authorization_code according to a user, member, and account specified in the request body. Clients then pass this code to processors. Processor access is scoped only to the user/member/account specified in this request. Before requesting an authorization_code, clients must have verified the specified member.
      operationId: deprecatedRequestPaymentProcessorAuthorizationCode
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentProcessorAuthorizationCodeRequestBody'
        description: The scope for the authorization code.
        required: true
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/PaymentProcessorAuthorizationCodeResponseBody'
          description: OK
      summary: (Deprecated) Request an authorization code
      tags:
      - processor token
  /tokens:
    parameters:
    - $ref: '#/components/parameters/acceptVersion'
    get:
      tags:
      - processor token
      operationId: listTokens
      summary: View a List of Tokens
      description: View a list of tokens that exist for a user, member, or account.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenRequestBody'
      responses:
        '200':
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: '#/components/schemas/TokenResponseBody'
          description: OK
  /account/account_numbers:
    parameters:
    - $ref: '#/components/parameters/acceptVersion'
    get:
      security:
      - bearerAuth: []
      tags:
      - processor token
      operationId: requestAccountNumber
      summary: Request an account number (Processors Only)
      description: Get account information such as routing number and account number, scoped to your access token.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessorAccountNumberBody'
  /account/check_balance:
    parameters:
    - $ref: '#/components/parameters/acceptVersion'
    post:
      security:
      - bearerAuth: []
      tags:
      - processor token
      operationId: checkRealTimeAccountBalance
      summary: Check Real Time Account Balance (Processors Only)
      description: Check the real-time account balance using your access token.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberResponseBody'
  /payment_account:
    parameters:
    - $ref: '#/components/parameters/acceptVersion'
    get:
      security:
      - bearerAuth: []
      tags:
      - processor token
      operationId: readAccountBalance
      summary: Read the account balance (Processors Only)
      description: Read the account balance (Processors Only)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentAccountBody'
  /account/transactions:
    parameters:
    - $ref: '#/components/parameters/acceptVersion'
    get:
      security:
      - bearerAuth: []
      tags:
      - processor token
      operationId: getAccountOwnerInfo
      summary: Get account owner information (Processors Only)
      description: Get account owner information (Processors Only)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessorOwnerBody'
components:
  schemas:
    PaymentAccountBody:
      properties:
        payment_account:
          allOf:
          - $ref: '#/components/schemas/MemberElements'
          - $ref: '#/components/schemas/PaymentAccount'
      type: object
    PaymentProcessorAuthorizationCodeRequestBody:
      properties:
        payment_processor_authorization_code:
          $ref: '#/components/schemas/PaymentProcessorAuthorizationCodeRequest'
      type: object
    PaymentProcessorAuthorizationCodeResponseBody:
      properties:
        payment_processor_authorization_code:
          $ref: '#/components/schemas/PaymentProcessorAuthorizationCodeResponse'
      type: object
    ProcessorOwner:
      properties:
        guid:
          example: ACO-a06b74ec-6a58-4c0b-b437-8de5e03194ac
        owner_name:
          example: Janita Pollich
        address:
          example: 3541 Adrian Street
        city:
          example: North Kishaberg
        state:
          example: Maine
        postal_code:
          example: 45054-7764
        country:
          example: null
        email:
          example: janita.pollich823@beerpowlowski.ca
        phone:
          example: 676-932-5861
    AuthorizationCodeRequest:
      properties:
        scope:
          example: user-guid:USR-101ad774-288b-44ed-ad16-da87d522ea20 member-guid:MBR-54feffb9-8474-47bd-8442-de003910113a account-guid:ACT-32a64160-582a-4f00-ab34-5f49cc35ed35 read-protected
          nullable: true
          type: string
      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
    TokenRequestBody:
      properties:
        scope:
          $ref: '#/components/schemas/MemberElements'
      type: object
    MemberElements:
      properties:
        account_guid:
          example: ACT-283132a4-1401-486a-909e-1605f1623d11
          type: string
        member_guid:
          example: MBR-54feffb9-8474-47bd-8442-de003910113a
          type: string
        user_guid:
          example: USR-101ad774-288b-44ed-ad16-da87d522ea20
          type: string
    ProcessorOwnerBody:
      properties:
        account_owners:
          items:
            allOf:
            - $ref: '#/components/schemas/MemberElements'
            - $ref: '#/components/schemas/ProcessorOwner'
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      type: object
    PaymentProcessorAuthorizationCodeRequest:
      properties:
        account_guid:
          example: ACT-4d4c0068-33bc-4d06-bbd6-cd270fd0135c
          type: string
        member_guid:
          example: MBR-46637bc5-942d-4229-9370-ddd858bf805e
          type: string
        user_guid:
          example: USR-f12b1f5a-7cbe-467c-aa30-0a10d0b2f549
          type: string
      required:
      - account_guid
      - member_guid
      - user_guid
      type: object
    MemberResponse:
      properties:
        aggregated_at:
          example: '2016-10-13T18:07:57.000Z'
          nullable: true
          type: string
        background_aggregation_is_disabled:
          example: false
          type: boolean
        connection_status:
          example: CONNECTED
          nullable: true
          type: string
        connection_status_message:
          example: Connected to MX Bank
          nullable: true
          type: string
        guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        id:
          example: unique_id
          nullable: true
          type: string
        institution_code:
          example: mxbank
          nullable: true
          type: string
        institution_guid:
          example: INST-12345678-90ab-cdef-1234-567890abcdef
          nullable: false
          type: string
        is_being_aggregated:
          example: false
          nullable: true
          type: boolean
        is_managed_by_user:
          example: false
          nullable: true
          type: boolean
        is_manual:
          example: false
          nullable: true
          type: boolean
        is_oauth:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: '\"credentials_last_refreshed_at\": \"2015-10-15\'
          nullable: true
          type: string
        most_recent_job_detail_code:
          example: null
          nullable: true
          type: integer
        most_recent_job_detail_text:
          example: null
          nullable: true
          type: boolean
        most_recent_job_guid:
          example: JOB-12345678-90ab-cdef-1234-567890abcdef
          nullable: true
          type: boolean
        name:
          example: MX Bank
          nullable: true
          type: string
        needs_updated_credentials:
          example: false
          nullable: true
          type: boolean
        oauth_window_uri:
          example: https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2
          nullable: true
          type: string
        successfully_aggregated_at:
          example: '2016-10-13T17:57:38.000Z'
          nullable: true
          type: string
        use_cases:
          type: array
          description: The use case associated with the member. Valid values are `PFM` and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and have opted in to using this field.
          items:
            type: string
            enum:
            - MONEY_MOVEMENT
            - PFM
          example:
          - PFM
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
        user_id:
          example: user123
          nullable: true
          type: string
      type: object
    ProcessorAccountNumberBody:
      properties:
        account_numbers:
          items:
            allOf:
            - $ref: '#/components/schemas/MemberElements'
            - $ref: '#/components/schemas/ProcessorAccountNumber'
      type: object
    ProcessorAccountNumber:
      properties:
        account_number:
          example: 6366816006
          type: integer
        guid:
          example: ACN-68c0b681-78c2-4731-9b41-d6e8ae2846cf
          type: string
        institution_number:
          example: null
        loan_guarantor:
          example: null
        loan_reference_number:
          example: null
        passed_validation:
          example: true
        routing_number:
          example: 242564563
          type: integer
        sequence_number:
          example: null
        transit_number:
          example: null
    TokenResponseBody:
      properties:
        tokens:
          items:
            $ref: '#/components/schemas/TokenResponse'
      type: object
    AuthorizationCodeResponseBody:
      properties:
        authorization_code:
          $ref: '#/components/schemas/AuthorizationCodeResponse'
      type: object
    PaymentProcessorAuthorizationCodeResponse:
      properties:
        authorization_code:
          example: 9nN-9D8_4Z3WYazx7-zXfmqsD3jwgL_2W927Sb3otI
          nullable: true
          type: string
      type: object
    MemberResponseBody:
      properties:
        member:
          $ref: '#/components/schemas/MemberResponse'
      type: object
    AuthorizationCodeRequestBody:
      properties:
        authorization_code:
          $ref: '#/components/schemas/AuthorizationCodeRequest'
      type: object
    TokenResponse:
      properties:
        payment_processor_guid:
          example: PPR-084aa709-8218-4b5a-b3ab-70ffc7483daf
          type: string
        expires_at:
          example: 2023-04-19T15:38:2800:00
          type: string
        access_token:
          example: i8FnF...
          type: string
        active:
          example: true
          type: boolean
    AuthorizationCodeResponse:
      properties:
        code:
          example: 9nN-9D8_4Z3WYazx7-zXfmqsD3jwgL_2W927Sb3otI
          nullable: true
          type: string
      type: object
    PaymentAccount:
      properties:
        account_name:
          example: MX Bank Checking
        account_number:
          example: 6366816006
        account_type:
          example: CHECKING
        available_balance:
          example: 1000
        balance:
          example: 1000
        created_at:
          example: '2022-03-17T20:38:58Z'
        routing_number:
          example: 242722023
        transit_number:
          example: null
        updated_at:
          example: '2022-11-29T08:02:07Z'
  parameters:
    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