Transaction

Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`

Financial DataOpen BankingOpen FinanceFinancial Data ExchangeConsumer-PermissionedAccount DataTransactionInvestmentsInsuranceTax DataPayrollRESTAuthenticationFAPICFPB 1033

Properties

Name Type Description
accountCategory object
transactionId object Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs
referenceTransactionId object For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the auth
postedTimestamp object The date and time that the transaction was posted to the account. This property is **required** by Plaid when `status=POSTED`. Plaid expects this property to be omitted when `status=PENDING` ISO 8601
transactionTimestamp object The date and time that the transaction was added to the server backend systems ISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to [IETF RFC 3339](https://datatracker.iet
cardNumberDisplay string The payment card number (e.g. debit, credit or digital), suitably masked, used to originate the transaction. May differ from primary account number as a secondary or employee card or a one-time use nu
description string Description of the transaction, such as information about a merchant's name or place of business in a manner that is user friendly and accessible to the customer
debitCreditMemo object
category string Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable
subCategory string Transaction category detail specifying the standard of the transaction category. For example, "MCC"
status object
amount number The amount of money in the account currency. The amount is an absolute value. Plaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction
foreignAmount number The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set
foreignCurrency object
View JSON Schema on GitHub

JSON Schema

fdx-transaction.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Transaction",
  "description": "Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",
  "type": "object",
  "discriminator": {
    "propertyName": "accountCategory"
  },
  "properties": {
    "accountCategory": {
      "$ref": "#/components/schemas/AccountCategory"
    },
    "transactionId": {
      "description": "Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",
      "$ref": "#/components/schemas/Identifier"
    },
    "referenceTransactionId": {
      "description": "For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",
      "$ref": "#/components/schemas/Identifier"
    },
    "postedTimestamp": {
      "description": "The date and time that the transaction was posted to the account.\nThis property is **required** by Plaid when `status=POSTED`. Plaid expects this property to be omitted when `status=PENDING`\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",
      "$ref": "#/components/schemas/Timestamp"
    },
    "transactionTimestamp": {
      "description": "The date and time that the transaction was added to the server backend systems\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",
      "$ref": "#/components/schemas/Timestamp"
    },
    "cardNumberDisplay": {
      "type": "string",
      "description": "The payment card number (e.g. debit, credit or digital), suitably masked,\nused to originate the transaction. May differ from primary account number as a\nsecondary or employee card or a one-time use number. This is an optional field\nand won't be returned for certain types of transactions such as cash or check deposits\n"
    },
    "description": {
      "type": "string",
      "description": "Description of the transaction, such as information about a merchant's\nname or place of business in a manner that is user friendly and accessible to the customer\n"
    },
    "debitCreditMemo": {
      "$ref": "#/components/schemas/DebitCreditMemo"
    },
    "category": {
      "type": "string",
      "description": "Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"
    },
    "subCategory": {
      "type": "string",
      "description": "Transaction category detail specifying the standard of the transaction category.\nFor example, \"MCC\"\n"
    },
    "status": {
      "$ref": "#/components/schemas/TransactionStatus"
    },
    "amount": {
      "type": "number",
      "description": "The amount of money in the account currency. The amount is an absolute value. Plaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"
    },
    "foreignAmount": {
      "type": "number",
      "description": "The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"
    },
    "foreignCurrency": {
      "$ref": "#/components/schemas/Iso4217Code"
    }
  },
  "required": [
    "debitCreditMemo",
    "description",
    "transactionId",
    "transactionTimestamp",
    "status",
    "amount"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/fdx-transaction"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.