MX Technologies processor token API
The processor token API from MX Technologies — 7 operation(s) for processor token.
The processor token API from MX Technologies — 7 operation(s) for processor token.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/mx-technologies-processor-token-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Mx Technologies processor token API
contact:
name: MX Platform API
url: https://www.mx.com/products/platform-api
version: '1.0'
description: 'Operations tagged processor token 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: 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
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
/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
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
/tokens:
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
parameters:
- $ref: '#/components/parameters/acceptVersion'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
/account/account_numbers:
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'
parameters:
- $ref: '#/components/parameters/acceptVersion'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
/account/check_balance:
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'
parameters:
- $ref: '#/components/parameters/acceptVersion'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
/payment_account:
get:
security:
- bearerAuth: []
tags:
- processor token
operationId: readAccountBalance
summary: Read the account balance (Processors Only)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentAccountBody'
parameters:
- $ref: '#/components/parameters/acceptVersion'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
/account/transactions:
get:
security:
- bearerAuth: []
tags:
- processor token
operationId: getAccountOwnerInfo
summary: Get account owner information (Processors Only)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessorOwnerBody'
parameters:
- $ref: '#/components/parameters/acceptVersion'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
components:
schemas:
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
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
TokenRequestBody:
properties:
scope:
$ref: '#/components/schemas/MemberElements'
type: object
PaymentProcessorAuthorizationCodeResponseBody:
properties:
payment_processor_authorization_code:
$ref: '#/components/schemas/PaymentProcessorAuthorizationCodeResponse'
type: object
PaymentProcessorAuthorizationCodeResponse:
properties:
authorization_code:
example: 9nN-9D8_4Z3WYazx7-zXfmqsD3jwgL_2W927Sb3otI
type:
- string
- 'null'
type: object
AuthorizationCodeResponse:
properties:
code:
example: 9nN-9D8_4Z3WYazx7-zXfmqsD3jwgL_2W927Sb3otI
type:
- string
- 'null'
type: object
PaymentAccountBody:
properties:
payment_account:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/PaymentAccount'
type: object
TokenResponseBody:
properties:
tokens:
items:
$ref: '#/components/schemas/TokenResponse'
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
ProcessorOwnerBody:
properties:
account_owners:
items:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/ProcessorOwner'
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
ProcessorAccountNumberBody:
properties:
account_numbers:
items:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/ProcessorAccountNumber'
type: object
PaymentProcessorAuthorizationCodeRequestBody:
properties:
payment_processor_authorization_code:
$ref: '#/components/schemas/PaymentProcessorAuthorizationCodeRequest'
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
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
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
type:
- string
- 'null'
type: object
MemberResponseBody:
properties:
member:
$ref: '#/components/schemas/MemberResponse'
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
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'
MemberResponse:
properties:
aggregated_at:
example: '2016-10-13T18:07:57.000Z'
type:
- string
- 'null'
background_aggregation_is_disabled:
example: false
type: boolean
connection_status:
example: CONNECTED
type:
- string
- 'null'
connection_status_message:
example: Connected to MX Bank
type:
- string
- 'null'
guid:
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
type:
- string
- 'null'
id:
example: unique_id
type:
- string
- 'null'
institution_code:
example: mxbank
type:
- string
- 'null'
institution_guid:
example: INST-12345678-90ab-cdef-1234-567890abcdef
type: string
is_being_aggregated:
example: false
type:
- boolean
- 'null'
is_managed_by_user:
example: false
type:
- boolean
- 'null'
is_manual:
example: false
type:
- boolean
- 'null'
is_oauth:
example: false
type:
- boolean
- 'null'
metadata:
example: '\"credentials_last_refreshed_at\": \"2015-10-15\'
type:
- string
- 'null'
most_recent_job_detail_code:
example: null
type:
- integer
- 'null'
most_recent_job_detail_text:
example: null
type:
- boolean
- 'null'
most_recent_job_guid:
example: JOB-12345678-90ab-cdef-1234-567890abcdef
type:
- boolean
- 'null'
name:
example: MX Bank
type:
- string
- 'null'
needs_updated_credentials:
example: false
type:
- boolean
- 'null'
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
type:
- string
- 'null'
successfully_aggregated_at:
example: '2016-10-13T17:57:38.000Z'
type:
- string
- 'null'
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
type:
- string
- 'null'
user_id:
example: user123
type:
- string
- 'null'
type: object
AuthorizationCodeRequestBody:
properties:
authorization_code:
$ref: '#/components/schemas/AuthorizationCodeRequest'
type: object
AuthorizationCodeResponseBody:
properties:
authorization_code:
$ref: '#/components/schemas/AuthorizationCodeResponse'
type: object
TokenResponse_2:
properties:
payment_processor_guid:
description: The unique identifier for the payment processor. Defined by MX.
example: PPR-084aa709-8218-4b5a-b3ab-70ffc7483daf
type: string
expires_at:
description: The date and time the access token expires in ISO 8601 format with a timestamp.
example: 2023-04-19T15:38:2800:00
type: string
access_token:
description: The access token you'll use to retrieve data. Every `access_token` expires after 60 days. To get a new token after an old one has expired, you must get a new code from the client. See [How-to Guide for Processors](https://docs.mx.com/products/connectivity/instant-account-verification/processor-token/processor-guide/#1-request-an-access-token).
example: eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDk3NjQ4MTMsImV4cCI6MTY0OTc2ODQxMywidXNlcl9ndWlkIjoiVVNSLWZhNzUzN2YzLTQ4YWEtYTY4My1hMDJhLWIxODk0MDQ4MmY1NCIsIm9yaWdfaWF0IjoxNjQ5NzY0ODEzfQ.wnhdUerhFIGgwb9OJaKRfW2uTxJ9z7TJ0l2HLqvAMWs
type:
- string
- 'null'
active:
description: Indicates whether the token is active.
example: true
type: boolean
ProcessorOwner_2:
properties:
guid:
description: The unique identifier for an account owner. Defined by MX.
example: AOW-e9f9cd45-7d14-4fbf-b23c-7f4a6d7671d6
type: string
owner_name:
description: The account owner's name.
example: Janita Pollich
type: string
address:
description: The account owner's street address.
example: 3541 Adrian Street
type: string
city:
description: The account owner's city.
example: North Kishaberg
type: string
state:
description: The account owner's state.
example: Maine
type: string
postal_code:
description: The account owner's postal code.
example: 45054-7764
type: string
country:
description: The country name.
example: US
type:
- string
- 'null'
email:
description: The email address associated with the account.
example: example@example.com
type: string
phone:
description: The phone number associated with the account owner.
example: 676-932-5861
type: string
PaymentAccount_2:
properties:
account_name:
description: The human-readable name for the account.
example: My test account
type: string
account_number:
description: The banking account number associated with a particular account.
example: 6366816006
account_type:
description: The type of account. Some account types may include subtypes.
example: CHECKING
type:
- string
- 'null'
enum:
- ANY
- CASH
- CHECKING
- CHECKING_LINE_OF_CREDIT
- CREDIT_CARD
- LOAN
- LINE_OF_CREDIT
- SAVINGS
- INVESTMENT
- MORTGAGE
- INSURANCE
- PREPAID
- PROPERTY
available_balance:
description: 'The balance that is available for use in asset accounts like checking and savings.
`PENDING` transactions are typically (not always) taken into account with the available balance.
`available_balance` will usually be a positive value for all account types, determined in the same way as the balance field.
'
example: 1000
type: number
balance:
description: "The current balance of the account.\n\n`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.\n \nThe balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.\n\nDebt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.\n"
example: 1000
type: number
created_at:
description: The date and time the resource was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
type: string
routing_number:
description: The routing number for the `account`.
example: 242722023
transit_number:
description: The five-digit number identifying the branch of a Canadian financial institution.
example: 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'
MemberResponse_2:
properties:
aggregated_at:
description: 'The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component.
A job will automatically be started when a member is created or its credentials are updated, unless the `skip_aggregation` parameter is used.
Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget.
A job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history.
If a member is deleted and then re-created with the `skip_aggregation` parameter set to `true` or if it is re-created within the throttle window (typically three hours), the previous value will be returned.
'
example: '2016-10-13T18:07:57.000Z'
type:
- string
- 'null'
background_aggregation_is_disabled:
description: Indicates whether background aggregation is disabled for the `member`.
example: false
type: boolean
connection_status:
description: The status of a user's connection to an institution. See [Member Connection Status](/api-reference/platform-api/reference/member-connection-statuses).
example: CONNECTED
type:
- string
- 'null'
enum:
- null
- CREATED
- PREVENTED
- DENIED
- CHALLENGED
- REJECTED
- LOCKED
- CONNECTED
- IMPEDED
- RECONNECTED
- DEGRADED
- DISCONNECTED
- DISCONTINUED
- CLOSED
- DELAYED
- FAILED
- UPDATED
- DISABLED
- IMPORTED
- RESUMED
- EXPIRED
- IMPAIRED
- PENDING
connection_status_message:
description: A human-readable message describing the connection status. See [Member Connection Status](/api-reference/platform-api/reference/member-connection-statuses).
example: Connected to MX Bank
type:
- string
- 'null'
guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
type:
- string
- 'null'
id:
description: The unique partner-defined identifier for the member.
example: unique_id
type:
- string
- 'null'
institution_code:
description: The code identifying a financial institution.
example: mxbank
type:
- string
- 'null'
institution_guid:
description: The unique identifier for the institution. Defined by MX.
example: INST-12345678-90ab-cdef-1234-567890abcdef
type: string
is_being_aggregated:
description: Indicates whether the member was being aggregated at the time of the request.
example: false
type:
- boolean
- 'null'
is_managed_by_user:
description: Indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.
example: false
type:
- boolean
- 'null'
is_manual:
description: Indicates whether the transaction was manually created or belongs to a manual account.
example: false
type:
- boolean
- 'null'
is_oauth:
description: Indicates whether the member uses OAuth to authenticate. Defaults to `false`.
example: false
type:
- boolean
- 'null'
metadata:
description: Additional information you stored about the `member`.
example: '\"credentials_last_refreshed_at\": \"2015-10-15\'
type:
- string
- 'null'
most_recent_job_detail_code:
description: (Deprecated) This field is no longer used and will be removed at a future date.
example: null
type:
- integer
- 'null'
most_recent_job_detail_text:
description: (Deprecated) This field is no longer used and will be removed at a future date.
example: null
type:
- boolean
- 'null'
most_recent_job_guid:
description: The unique identifier for the most recent job. Defined by MX.
example: JOB-12345678-90ab-cdef-1234-567890abcdef
type:
- string
- 'null'
name:
description: The name of the `member`.
example: MX Bank
type:
- string
- 'null'
needs_updated_credentials:
description: Internal field used by MX in some circumstances. When set to `true`, MX will not attempt to aggregate the member. It will be set to `false` automatically when the member's credentials are updated.
example: false
type:
- boolean
- 'null'
oauth_window_uri:
description: When connecting a member using OAuth, this field will contain the URL to send the user to in order to authenticate, otherwise it will be blank.
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
type:
- string
- 'null'
successfully_aggregated_at:
description: The date and time when the member was last successfully aggregated, represented in ISO 8601 format with a timestamp.
example: '2016-10-13T17:57:38.000Z'
type:
- string
- 'null'
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:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
type:
- string
- 'null'
user_id:
description: The unique partner-defined identifier for the user.
example: u-1234
type:
- string
- 'null'
type: object
MemberElements_2:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
type: string
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
type: string
ProcessorAccountNumber_2:
properties:
account_number:
description: The banking account number associated with a particular account.
example: 6366816006
type: integer
guid:
description: The unique identifier for the account number. Defined by MX.
example: ACN-68c0b681-78c2-4731-9b41-d6e8ae2846cf
type: string
institution_number:
description: The three-digit number identifying a Canadian banking institution.
example: null
loan_guarantor:
description: The guarantor of the student loan.
example: null
loan_reference_number:
description: The reference number for the student loan.
example: null
passed_validation:
description: Indicates whether the account number has passed validation.
example: true
routing_number:
description: The routing number for the `account`.
example: 242564563
type: integer
sequence_number:
description: The sequence number for the account.
example: null
transit_number:
description: The five-digit number identifying the branch of a Canadian financial institution.
example: null
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
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
x-refined-from:
- mx-technologies-platform-openapi.yml
- mx-technologies-platform-v20250224-openapi.yml