Operations 4
Documentation
Documentation
https://developer.mastercard.com/open-banking-us/documentation/
APIReference
https://developer.mastercard.com/open-banking-us/documentation/api-reference/
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/finicity-txpush-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: Open Finance Tx Push API
description: 'OpenAPI specification for Finicity APIs.
Open Finance (formerly Open Banking) solutions in the US are provided by
Finicity, a Mastercard company.'
contact:
name: API Support
email: apisupport@mastercard.com
url: https://developer.mastercard.com/open-finance-us/documentation/support/
version: 1.43.0
servers:
- url: https://api.finicity.com
description: Production
security:
- FinicityAppKey: []
FinicityAppToken: []
tags:
- name: TxPush
description: Manage TxPush subscriptions
paths:
/aggregation/v1/customers/{customerId}/accounts/{accountId}/txpush:
post:
tags:
- TxPush
summary: Subscribe to TxPush Notifications
description: 'Register a client app''s TxPush Listener to receive TxPush notifications related to the given account.
Each call to this service will return two records, one with class account and one with class transaction. Account events are sent when values change in the account''s fields (such as `balance` or `interestRate`). Transaction events are sent whenever a new transaction is posted for the account. For institutions that do not provide TxPush services, notifications are sent as soon as Finicity finds a new transaction or new account data through regular aggregation processes.
The listener''s URL must be secure (HTTPS) for any real-world account. In addition, the client''s TxPush Listener will need to be verified. HTTP and HTTPS connections are only allowed on the standard ports 80 (HTTP) and 443 (HTTPS). The use of other ports will result with the call failing.
For additional details on this process, see [TxPush Listener Service](https://developer.mastercard.com/open-finance-us/documentation/products/manage/tx-push/#setting-up-the-txpush-listener-service).
_Supported regions_: '
operationId: SubscribeToTxPushNotifications
parameters:
- $ref: '#/components/parameters/CustomerIdParameter'
- $ref: '#/components/parameters/AccountIdParameter'
requestBody:
$ref: '#/components/requestBodies/SubscribeToTxPushNotificationsRequest'
responses:
'201':
$ref: '#/components/responses/SubscribeToTxPushNotificationsResponse'
'400':
$ref: '#/components/responses/BadRequestErrorResponse'
'401':
$ref: '#/components/responses/UnauthorizedErrorResponse'
'404':
$ref: '#/components/responses/ResourceNotFoundErrorResponse'
delete:
tags:
- TxPush
summary: Disable TxPush Notifications
description: 'Delete all TxPush subscriptions with their notifications for the given account. No more notifications will be sent for account or transaction events.
For additional details on this process, see [TxPush Listener Service](https://developer.mastercard.com/open-finance-us/documentation/products/manage/tx-push/#setting-up-the-txpush-listener-service).
_Supported regions_: '
operationId: DisableTxPushNotifications
parameters:
- $ref: '#/components/parameters/CustomerIdParameter'
- $ref: '#/components/parameters/AccountIdParameter'
responses:
'204':
$ref: '#/components/responses/DisableTxPushNotificationsResponse'
'400':
$ref: '#/components/responses/BadRequestErrorResponse'
'401':
$ref: '#/components/responses/UnauthorizedErrorResponse'
'404':
$ref: '#/components/responses/ResourceNotFoundErrorResponse'
/aggregation/v1/customers/{customerId}/accounts/{accountId}/transactions:
post:
tags:
- TxPush
summary: Create TxPush Test Transaction
description: 'Inject a transaction into the transaction list for a testing account. This allows an app to trigger TxPush notifications for the account in order to test the app''s TxPush Listener service. This causes the platform to send one transaction event and one account event (showing that the account balance has changed). This service is only supported for testing accounts.
For additional details on this process, see [TxPush Listener Service](https://developer.mastercard.com/open-finance-us/documentation/products/manage/tx-push/#setting-up-the-txpush-listener-service).
_Supported regions_: '
operationId: CreateTxPushTestTransaction
parameters:
- $ref: '#/components/parameters/CustomerIdParameter'
- $ref: '#/components/parameters/AccountIdParameter'
requestBody:
$ref: '#/components/requestBodies/CreateTxPushTestTransactionRequest'
responses:
'201':
$ref: '#/components/responses/CreateTxPushTestTransactionResponse'
'400':
$ref: '#/components/responses/BadRequestErrorResponse'
'401':
$ref: '#/components/responses/UnauthorizedErrorResponse'
'404':
$ref: '#/components/responses/ResourceNotFoundErrorResponse'
/aggregation/v1/customers/{customerId}/subscriptions/{subscriptionId}:
delete:
tags:
- TxPush
summary: Delete TxPush Subscription
description: 'Delete a specific subscription to TxPush notifications for the given account. This could be individual deleting the account or transactions events. No more events will be sent for that specific subscription.
For additional details on this process, see [TxPush Listener Service](https://developer.mastercard.com/open-finance-us/documentation/products/manage/tx-push/#setting-up-the-txpush-listener-service).
_Supported regions_: '
operationId: DeleteTxPushSubscription
parameters:
- $ref: '#/components/parameters/CustomerIdParameter'
- $ref: '#/components/parameters/SubscriptionIdParameter'
responses:
'204':
$ref: '#/components/responses/DeleteTxPushSubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequestErrorResponse'
'401':
$ref: '#/components/responses/UnauthorizedErrorResponse'
'404':
$ref: '#/components/responses/ResourceNotFoundErrorResponse'
components:
examples:
MissingFinicityAppKeyExample:
value:
code: '10026'
message: Missing parameter (Finicity-App-Key)
InvalidForesightReportRequestExample:
value:
code: '10100'
message: At least one of customerId or externalCustomerId must be provided; both are also allowed.
ResellerInvalidDateRangeGreaterThan31DaysExample:
value:
code: '10100'
message: 'RESELLER_BILLING_REPORT: Invalid date range - It is more than 31 days'
ResellerInvalidDateRangeGreaterThanEndDateExample:
value:
code: '10100'
message: 'RESELLER_BILLING_REPORT: Invalid date range - startDate is greaterThan endDate'
ResellerNoReportForPartnerExample:
value:
code: '10100'
message: Cannot find resellerBilling reports with id 2445581559892.
BothCraAndFtcPurposeTrueExample:
value:
code: '10100'
status: '400'
message: forCRAPurpose and forFTCPurpose may not both be TRUE.
ResellerPartnerNotAuthorizedExample:
value:
code: '10100'
message: 'RESELLER_BILLING_REPORT: Partner is not authorized to access resellerBilling reports for partnerId 2445583947903'
InvalidConsumerPhoneExample:
value:
code: '10100'
message: Invalid format for field consumer.phone.
MissingFieldExample:
value:
code: '10005'
message: Missing parameter (partnerId)
NoRegisteredApplicationExample:
value:
code: '50051'
message: No registered partner applications found.
ExpiredFinicityAppTokenExample:
value:
code: '10023'
message: Expired (Finicity-App-Token)
InvalidFieldExample:
value:
code: '10010'
status: '400'
message: Customer ID does not exist or does not belong to this partner
user_message: One or more of the fields could not be validated. Please ensure you have entered the correct data.
tags: ''
InvalidValueExample:
value:
code: '1618'
message: Negative or invalid value entered. Please use positive numbers only.
InvalidConsumerSSNExample:
value:
code: '10100'
message: Invalid format for field consumer.ssn. Required format is 9 digits.
InvalidFinicityAppTokenExample:
value:
code: '10022'
message: Invalid (Finicity-App-Token)
ResellerInvalidDateRangeLessThanZeroExample:
value:
code: '10100'
message: 'RESELLER_BILLING_REPORT: Invalid date range - start or end date less than or equal to zero'
CustomerReportLimitExceedExample:
value:
code: '20400'
message: The max report generation limit was exceeded for this customer.
NoAccountForInstitutionLoginIdExample:
value:
code: '38007'
message: Customer does not have any accounts associated with institutionLoginId.
CustomerNotFoundExample:
value:
code: '14001'
message: Customer not found.
ResellerNoDataForPartnerExample:
value:
code: '10100'
message: 'RESELLER_BILLING_REPORT: Reports not found 2445583947903 resellerBilling reports'
InvalidConsumerEmailExample:
value:
code: '10100'
message: Invalid format for field consumer.email.
ResellerInvalidDateRangeExample:
value:
code: '10100'
message: 'RESELLER_BILLING_REPORT: Invalid date range - start or end date is empty or null'
ExpiredTokenExample:
value:
code: '10023'
message: Expired (Finicity-App-Token)
AccountTypeNotSupportedExample:
value:
code: '14020'
message: Bad request. (Account type not supported).
PermissiblePurposeCodeExample:
value:
code: '10100'
status: '400'
message: Permissible Purpose Code is required
ResourceNotFoundExample:
value:
code: '14001'
message: Resource not found.
ConsumerNotFoundExample:
value:
code: '10100'
message: Cannot find consumer with id 1234.
InvalidExperienceFieldExample:
value:
code: '10010'
status: '400'
message: '"experience" must be a valid GUID'
user_message: One or more of the fields could not be validated. Please ensure you have entered the correct data.
tags: ''
GenericBadRequestExample:
value:
code: '14020'
message: Bad request.
BadCredentialsExample:
value:
code: '24302'
message: Bad credentials
NoConsumerForCustomerExample:
value:
code: '10100'
message: Cannot find consumer for customer with id 5011115315."
MissingFinicityAppTokenExample:
value:
code: '10024'
message: Missing parameter (Finicity-App-Token)
responses:
CreateTxPushTestTransactionResponse:
description: The test notification was successfully sent
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedTestTxPushTransaction'
SubscribeToTxPushNotificationsResponse:
description: The subscription was successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/TxPushSubscriptions'
DeleteTxPushSubscriptionResponse:
description: The subscription was successfully deleted
BadRequestErrorResponse:
description: The request was rejected
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
examples:
PermissiblePurposeCodeExample:
$ref: '#/components/examples/PermissiblePurposeCodeExample'
InvalidForesightReportRequestExample:
$ref: '#/components/examples/InvalidForesightReportRequestExample'
BothCraAndFtcPurposeTrueExample:
$ref: '#/components/examples/BothCraAndFtcPurposeTrueExample'
MissingFieldExample:
$ref: '#/components/examples/MissingFieldExample'
InvalidFieldExample:
$ref: '#/components/examples/InvalidFieldExample'
InvalidExperienceFieldExample:
$ref: '#/components/examples/InvalidExperienceFieldExample'
GenericBadRequestExample:
$ref: '#/components/examples/GenericBadRequestExample'
AccountTypeNotSupportedExample:
$ref: '#/components/examples/AccountTypeNotSupportedExample'
ResellerPartnerNotAuthorizedExample:
$ref: '#/components/examples/ResellerPartnerNotAuthorizedExample'
ResellerInvalidDateRangeExample:
$ref: '#/components/examples/ResellerInvalidDateRangeExample'
ResellerInvalidDateRangeLessThanZeroExample:
$ref: '#/components/examples/ResellerInvalidDateRangeLessThanZeroExample'
ResellerInvalidDateRangeGreaterThanEndDateExample:
$ref: '#/components/examples/ResellerInvalidDateRangeGreaterThanEndDateExample'
ResellerInvalidDateRangeGreaterThan31DaysExample:
$ref: '#/components/examples/ResellerInvalidDateRangeGreaterThan31DaysExample'
CustomerReportLimitExceedExample:
$ref: '#/components/examples/CustomerReportLimitExceedExample'
InvalidConsumerSSNExample:
$ref: '#/components/examples/InvalidConsumerSSNExample'
InvalidConsumerPhoneExample:
$ref: '#/components/examples/InvalidConsumerPhoneExample'
InvalidConsumerEmailExample:
$ref: '#/components/examples/InvalidConsumerEmailExample'
InvalidValue:
$ref: '#/components/examples/InvalidValueExample'
DisableTxPushNotificationsResponse:
description: Subscriptions were successfully deleted for the given account
ResourceNotFoundErrorResponse:
description: The resource doesn't exist
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
examples:
ConsumerNotFoundExample:
$ref: '#/components/examples/ConsumerNotFoundExample'
NoAccountForInstitutionLoginIdExample:
$ref: '#/components/examples/NoAccountForInstitutionLoginIdExample'
CustomerNotFoundExample:
$ref: '#/components/examples/CustomerNotFoundExample'
NoConsumerForCustomerExample:
$ref: '#/components/examples/NoConsumerForCustomerExample'
ResourceNotFoundExample:
$ref: '#/components/examples/ResourceNotFoundExample'
NoRegisteredApplicationExample:
$ref: '#/components/examples/NoRegisteredApplicationExample'
ResellerNoDataForPartnerExample:
$ref: '#/components/examples/ResellerNoDataForPartnerExample'
ResellerNoReportForPartnerExample:
$ref: '#/components/examples/ResellerNoReportForPartnerExample'
UnauthorizedErrorResponse:
description: The request lacks valid authentication credentials. Check "Finicity-App-Key" or "Finicity-App-Token".
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
examples:
ExpiredTokenExample:
$ref: '#/components/examples/ExpiredTokenExample'
MissingFinicityAppKeyExample:
$ref: '#/components/examples/MissingFinicityAppKeyExample'
MissingFinicityAppTokenExample:
$ref: '#/components/examples/MissingFinicityAppTokenExample'
InvalidFinicityAppTokenExample:
$ref: '#/components/examples/InvalidFinicityAppTokenExample'
ExpiredFinicityAppTokenExample:
$ref: '#/components/examples/ExpiredFinicityAppTokenExample'
BadCredentialsExample:
$ref: '#/components/examples/BadCredentialsExample'
text/plain:
schema:
type: string
example: Invalid (Finicity-App-Key)
schemas:
CreatedTestTxPushTransaction:
required:
- id
- createdDate
type: object
properties:
id:
$ref: '#/components/schemas/TransactionId'
createdDate:
$ref: '#/components/schemas/UnixDate'
description: Response for TxPush test transaction
ErrorMessage:
required:
- code
type: object
properties:
code:
type: object
description: 'An error code (can be returned as a number or a string). Useful links: [Common API Status Codes](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/#common-api-status-codes), [Aggregation Status Codes](https://developer.mastercard.com/open-finance-us/documentation/products/manage/account-aggregation/#aggregation-status-codes).'
example: '10001'
status:
type: string
description: A status code
example: '401'
title:
type: string
description: A title for the error
example: Connecting accounts error
level:
type: string
description: An error level
example: error
message:
type: string
description: An error message
example: Invalid authorization credentials
user_message:
type: string
description: Some more details about the error
example: The session has expired or is invalid
assetId:
$ref: '#/components/schemas/AssetId'
accountId:
$ref: '#/components/schemas/AccountId'
externalTransactionId:
type: string
description: A unique identifier for the transaction that assists in linking data back to your systems.
example: MAC1005061234
minLength: 1
maxLength: 100
tags:
type: string
description: Categories that the error belongs to
example: AGG
AccountId:
type: string
description: An account ID
example: '5011648377'
SubscriptionType:
type: string
description: A TxPush subscription type ("account" or "transaction")
example: account
TxPushSubscriptions:
required:
- subscriptions
type: object
properties:
subscriptions:
type: array
items:
$ref: '#/components/schemas/SubscriptionRecord'
TransactionId:
type: integer
description: A transaction ID
format: int64
example: 21284820852
AssetId:
type: string
description: An asset ID. Generated by Data Connect or by using the Store Customer Pay Statement API.
example: 097545c5-1c2a-4f20-a5ef-77f0820344c9-2018601178
TxPushSubscriptionParameters:
required:
- callbackUrl
type: object
properties:
callbackUrl:
$ref: '#/components/schemas/TxPushCallbackUrl'
TxPushCallbackUrl:
type: string
description: A callback URL to receive TxPush notifications
example: https://www.example.com/txpush/listener
TestTxPushTransaction:
description: A fake transaction for TxPush testing
required:
- amount
- description
- transactionDate
type: object
properties:
amount:
type: number
description: The amount of the transaction
example: -4.25
description:
type: string
description: The description of the transaction
example: a testing transaction description
status:
type: string
description: '"active" or "pending" (optional)'
default: active
example: pending
postedDate:
$ref: '#/components/schemas/UnixDate'
transactionDate:
$ref: '#/components/schemas/UnixDate'
SubscriptionId:
description: ID of a TxPush subscription
type: integer
format: int64
example: 17554874
UnixDate:
type: integer
description: 'A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
format: int64
example: 1607450357
CustomerId:
type: string
description: A customer ID. See Add Customer API for how to create a customer ID.
example: '1005061234'
SubscriptionRecord:
required:
- id
- accountId
- type
- callbackUrl
- signingKey
type: object
properties:
id:
$ref: '#/components/schemas/SubscriptionId'
accountId:
$ref: '#/components/schemas/NumericAccountId'
type:
$ref: '#/components/schemas/SubscriptionType'
callbackUrl:
$ref: '#/components/schemas/TxPushCallbackUrl'
signingKey:
type: string
description: Signing key for events
example: zg4U0v1IvTzFEHIXzJMxPHnfUwWZAMVpXrUuNuL9IvZI0QzkDdwp39IAKuNOFxOVqCOgHLMS1Zpe4ZL40NX83aJkqI6v0Ez5B7BLBtvr7Ag11kPH3uG1taTeOV0CTyI4LOg7ohSHn0DqaRu2aBq26KI90nYe0CecTCzzhu4yMXL43JV8YfydAexNdkzfg8tY44MlhBPUh2neHW2EFTT2ja4s4Ul10JgID03un8WBSrIm2adHw3QYJB4jk4k1e
description: TxPush subscription details
NumericAccountId:
type: integer
format: int64
description: An account ID represented as a number
example: 5011648377
parameters:
CustomerIdParameter:
description: A customer ID
name: customerId
in: path
required: true
schema:
$ref: '#/components/schemas/CustomerId'
example: '1005061234'
AccountIdParameter:
description: The account ID
name: accountId
in: path
required: true
schema:
$ref: '#/components/schemas/AccountId'
example: '5011648377'
SubscriptionIdParameter:
description: The subscription ID
name: subscriptionId
in: path
required: true
schema:
$ref: '#/components/schemas/SubscriptionId'
example: 17554874
requestBodies:
SubscribeToTxPushNotificationsRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TxPushSubscriptionParameters'
CreateTxPushTestTransactionRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TestTxPushTransaction'
securitySchemes:
FinicityAppKey:
name: Finicity-App-Key
type: apiKey
in: header
description: The "Finicity-App-Key" from the developer dashboard
FinicityAppToken:
name: Finicity-App-Token
type: apiKey
in: header
description: A token returned by the `/authentication` API