Slash · Schema
FeeTransaction
CompanyBankingPaymentsFinancial ServicesFintechCorporate CardsBusiness BankingInvoicingExpense ManagementTreasuryFDX
Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| dateCharged | string | |
| feeAmountCents | number | |
| feeType | string | |
| accountId | string | |
| originalTransaction | object | |
| card | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/slash/main/json-schema/slash-fee-transaction-schema.json",
"title": "FeeTransaction",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/slash-transaction-api-openapi.yml#/components/schemas/FeeTransaction",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"dateCharged": {
"type": "string"
},
"feeAmountCents": {
"type": "number"
},
"feeType": {
"type": "string"
},
"accountId": {
"type": "string"
},
"originalTransaction": {
"$ref": "#/$defs/Transaction",
"x-entrypoint": {
"virtualPath": "schemas/Transaction",
"sourcePath": "schemas/Transaction.yaml",
"title": "Transaction",
"origin": "./src/publicApi"
}
},
"card": {
"$ref": "#/$defs/Card",
"x-entrypoint": {
"virtualPath": "schemas/Card",
"sourcePath": "schemas/Card.yaml",
"title": "Card",
"origin": "./src/publicApi"
}
}
},
"required": [
"id",
"dateCharged",
"feeAmountCents",
"feeType",
"accountId"
],
"x-entrypoint": {
"virtualPath": "schemas/FeeTransaction",
"sourcePath": "schemas/FeeTransaction.yaml",
"title": "FeeTransaction",
"origin": "./src/publicApi"
},
"$defs": {
"Card": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"accountId": {
"type": "string",
"description": "The account that this card is associated with"
},
"virtualAccountId": {
"type": "string",
"description": "The virtual account that this card is associated with"
},
"last4": {
"type": "string",
"description": "The last 4 digits of the card number"
},
"name": {
"type": "string",
"description": "The name assigned to the card that appears on the user dashboard"
},
"expiryMonth": {
"type": "string",
"description": "The month the card expires formatted as MM (01, 02, ..., 12)"
},
"expiryYear": {
"type": "string",
"description": "The year the card expires formatted as YYYY (2024, 2025, ...)"
},
"status": {
"allOf": [
{
"$ref": "#/$defs/CardStatus",
"x-entrypoint": {
"virtualPath": "schemas/CardStatus",
"sourcePath": "schemas/CardStatus.yaml",
"title": "CardStatus",
"origin": "./src/publicApi"
}
},
{
"description": "The status of the card"
}
]
},
"isPhysical": {
"type": "boolean",
"description": "When true, a physical card has been issued. Otherwise, this is a virtual card."
},
"isSingleUse": {
"type": "boolean",
"description": "When true, the card will be automatically closed after a single authorization attempt. Note that the card will be closed even if the authorization declines or drops"
},
"pan": {
"type": "string",
"description": "This field contains the full PAN which will only be sent on a request for a single card when you set the query param \"include_pan\" to \"true\""
},
"cvv": {
"type": "string",
"description": "This field will contain full CVV which will only be sent on a request for a single card when you set the query param \"include_pan\" to \"true\""
},
"cardGroupId": {
"type": "string",
"description": "The card group the card belongs to."
},
"cardGroupName": {
"type": "string",
"description": "The name of the card group the card belongs to."
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"spendingConstraint": {
"$ref": "#/$defs/SpendingConstraint",
"description": "The spending constraint applied to the card",
"x-entrypoint": {
"virtualPath": "schemas/SpendingConstraint",
"sourcePath": "schemas/SpendingConstraint.yaml",
"title": "SpendingConstraint",
"origin": "./src/publicApi"
}
},
"userData": {
"type": "object",
"description": "Arbitrary information that can be attached to the card. See the [`PATCH /card/{cardId}`](api-reference/card-patch) endpoint for more details on how to add user data."
},
"cardProductId": {
"type": "string",
"description": "The ID of the card product this card was created with."
},
"modifiers": {
"type": "array",
"items": {
"$ref": "#/$defs/CardModifier",
"x-entrypoint": {
"virtualPath": "schemas/CardModifier",
"sourcePath": "schemas/CardModifier.yaml",
"title": "CardModifier",
"origin": "./src/publicApi"
}
},
"description": "The modifiers applied to this card. Modifiers control card behavior like restricting to recurring payments only."
}
},
"required": [
"id",
"accountId",
"last4",
"name",
"expiryMonth",
"expiryYear",
"status",
"isPhysical"
],
"x-entrypoint": {
"virtualPath": "schemas/Card",
"sourcePath": "schemas/Card.yaml",
"title": "Card",
"origin": "./src/publicApi"
},
"title": "Card"
},
"CardModifier": {
"oneOf": [
{
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"enum": [
"only_allow_recurring_payments"
]
},
"value": {
"description": "Whether to only allow recurring payments. The default value for newly created cards is false.",
"type": "boolean"
}
}
}
],
"x-entrypoint": {
"virtualPath": "schemas/CardModifier",
"sourcePath": "schemas/CardModifier.yaml",
"title": "CardModifier",
"origin": "./src/publicApi"
},
"title": "CardModifier"
},
"CardStatus": {
"type": "string",
"enum": [
"active",
"paused",
"inactive",
"closed"
],
"x-entrypoint": {
"virtualPath": "schemas/CardStatus",
"sourcePath": "schemas/CardStatus.yaml",
"title": "CardStatus",
"origin": "./src/publicApi"
},
"title": "CardStatus"
},
"Money": {
"type": "object",
"description": "Represents a monetary value",
"properties": {
"amountCents": {
"type": "integer",
"description": "The amount in cents"
}
},
"required": [
"amountCents"
],
"x-entrypoint": {
"virtualPath": "schemas/Money",
"sourcePath": "schemas/Money.yaml",
"title": "Money",
"origin": "./src/publicApi"
},
"title": "Money"
},
"OriginalCurrency": {
"type": "object",
"description": "The original currency of the transaction. This is only applicable to transactions. If this field is not sent, the original currency is in USD.\n",
"properties": {
"code": {
"type": "string",
"description": "The original currency code of the transaction"
},
"amountCents": {
"type": "number",
"description": "The amount of the transaction in its original currency in cents."
},
"conversionRate": {
"type": "number",
"description": "The conversion rate used to convert the transaction amount from its original currency to the account currency. The currency rate is computed at the time of the transaction."
}
},
"required": [
"code",
"amountCents",
"conversionRate"
],
"x-entrypoint": {
"virtualPath": "schemas/OriginalCurrency",
"sourcePath": "schemas/OriginalCurrency.yaml",
"title": "OriginalCurrency",
"origin": "./src/publicApi"
},
"title": "OriginalCurrency"
},
"Restriction": {
"type": "string",
"enum": [
"allowlist",
"blacklist"
],
"x-entrypoint": {
"virtualPath": "schemas/Restriction",
"sourcePath": "schemas/Restriction.yaml",
"title": "Restriction",
"origin": "./src/publicApi"
},
"title": "Restriction"
},
"SpendingConstraint": {
"type": "object",
"description": "A constraint that can be applied to a CardGroupSpendingRule",
"properties": {
"merchantCategoryRule": {
"type": [
"object",
"null"
],
"properties": {
"merchantCategories": {
"type": "array",
"items": {
"type": "string"
}
},
"restriction": {
"$ref": "#/$defs/Restriction",
"x-entrypoint": {
"virtualPath": "schemas/Restriction",
"sourcePath": "schemas/Restriction.yaml",
"title": "Restriction",
"origin": "./src/publicApi"
}
}
},
"required": [
"merchantCategories",
"restriction"
]
},
"merchantRule": {
"type": [
"object",
"null"
],
"properties": {
"merchants": {
"type": "array",
"items": {
"type": "string"
}
},
"restriction": {
"$ref": "#/$defs/Restriction",
"x-entrypoint": {
"virtualPath": "schemas/Restriction",
"sourcePath": "schemas/Restriction.yaml",
"title": "Restriction",
"origin": "./src/publicApi"
}
}
},
"required": [
"merchants",
"restriction"
]
},
"spendingRule": {
"type": [
"object",
"null"
],
"properties": {
"utilizationLimit": {
"type": "object",
"properties": {
"timezone": {
"type": "string",
"description": "IANA timezone string. Limits always reset at midnight of the timezone specified. If no timezone is specified, then UTC time is used."
},
"limitAmount": {
"$ref": "#/$defs/Money",
"x-entrypoint": {
"virtualPath": "schemas/Money",
"sourcePath": "schemas/Money.yaml",
"title": "Money",
"origin": "./src/publicApi"
}
},
"preset": {
"type": "string",
"enum": [
"daily",
"weekly",
"monthly",
"yearly",
"collective"
]
},
"startDate": {
"type": "string",
"description": "Format ISO-8601. A day that equals today or the past. This is optional.If the `preset` is \"daily\", this value is ignored. If the `preset` is \"weekly\", \"monthly\" or \"yearly\", then the this value is used to compute when the limit should start limit."
}
},
"required": [
"limitAmount",
"preset"
]
},
"utilizationLimitV2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timezone": {
"type": "string",
"description": "IANA timezone string. Limits always reset at midnight of the timezone specified. If no timezone is specified, then UTC time is used."
},
"limitAmount": {
"$ref": "#/$defs/Money",
"x-entrypoint": {
"virtualPath": "schemas/Money",
"sourcePath": "schemas/Money.yaml",
"title": "Money",
"origin": "./src/publicApi"
}
},
"preset": {
"type": "string",
"enum": [
"daily",
"weekly",
"monthly",
"yearly",
"collective"
]
},
"startDate": {
"type": "string",
"description": "Format ISO-8601. A day that equals today or the past. This is optional.If the `preset` is \"daily\", this value is ignored. If the `preset` is \"weekly\", \"monthly\" or \"yearly\", then the this value is used to compute when the limit should start limit."
}
},
"required": [
"limitAmount",
"preset"
]
}
},
"transactionSizeLimit": {
"type": "object",
"properties": {
"minimum": {
"$ref": "#/$defs/Money",
"x-entrypoint": {
"virtualPath": "schemas/Money",
"sourcePath": "schemas/Money.yaml",
"title": "Money",
"origin": "./src/publicApi"
}
},
"maximum": {
"$ref": "#/$defs/Money",
"x-entrypoint": {
"virtualPath": "schemas/Money",
"sourcePath": "schemas/Money.yaml",
"title": "Money",
"origin": "./src/publicApi"
}
}
}
}
}
},
"countryRule": {
"type": [
"object",
"null"
],
"properties": {
"countries": {
"description": "A 2 digit country code",
"type": "array",
"items": {
"type": "string"
}
},
"restriction": {
"$ref": "#/$defs/Restriction",
"x-entrypoint": {
"virtualPath": "schemas/Restriction",
"sourcePath": "schemas/Restriction.yaml",
"title": "Restriction",
"origin": "./src/publicApi"
}
}
},
"required": [
"countries",
"restriction"
]
},
"merchantCategoryCodeRule": {
"type": [
"object",
"null"
],
"properties": {
"merchantCategoryCodes": {
"type": "array",
"items": {
"type": "string"
}
},
"restriction": {
"$ref": "#/$defs/Restriction",
"x-entrypoint": {
"virtualPath": "schemas/Restriction",
"sourcePath": "schemas/Restriction.yaml",
"title": "Restriction",
"origin": "./src/publicApi"
}
}
},
"required": [
"merchantCategoryCodes",
"restriction"
]
}
},
"x-entrypoint": {
"virtualPath": "schemas/SpendingConstraint",
"sourcePath": "schemas/SpendingConstraint.yaml",
"title": "SpendingConstraint",
"origin": "./src/publicApi"
},
"title": "SpendingConstraint"
},
"Transaction": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"date": {
"description": "The date in UTC time when the transaction was posted. If the transaction is pending or failed, this is the date the transaction was created.",
"type": "string"
},
"description": {
"type": "string"
},
"memo": {
"description": "The memo associated with the transaction. For virtual account transfers, this is the memo provided when creating the transfer. For ACH transactions, this is the company entry description. For wire transactions, this is the sender reference.",
"type": "string"
},
"merchantDescription": {
"type": "string",
"description": "DEPRECATED. Use `merchantData.description` instead. For card transactions, the description of the transaction as reported by the merchant. For other transactions, this field is undefined.",
"deprecated": true
},
"merchantData": {
"$ref": "#/$defs/TransactionMerchant",
"description": "For card transactions, contains description of the transaction as reported by the merchant, merchant category code, and location of the merchant or origin of the transaction.\nFor other transactions, this field is undefined.\n",
"x-entrypoint": {
"virtualPath": "schemas/TransactionMerchant",
"sourcePath": "schemas/TransactionMerchant.yaml",
"title": "TransactionMerchant",
"origin": "./src/publicApi"
}
},
"amountCents": {
"description": "The amount of the transaction in cents in USD. If the transaction amount is negative, the transaction is a debit. If the transaction amount is positive, the transaction is a credit.",
"type": "number"
},
"status": {
"$ref": "#/$defs/TransactionStatus",
"x-entrypoint": {
"virtualPath": "schemas/TransactionStatus",
"sourcePath": "schemas/TransactionStatus.yaml",
"title": "TransactionStatus",
"origin": "./src/publicApi"
}
},
"detailedStatus": {
"$ref": "#/$defs/TransactionDetailedStatus",
"x-entrypoint": {
"virtualPath": "schemas/TransactionDetailedStatus",
"sourcePath": "schemas/TransactionDetailedStatus.yaml",
"title": "TransactionDetailedStatus",
"origin": "./src/publicApi"
}
},
"accountId": {
"description": "The account ID associated with the transaction"
},
"virtualAccountId": {
"description": "The virtual account ID where the transaction occurred",
"type": "string"
},
"accountSubtype": {
"description": "For charge cards, specifies if the transaction belongs to the cash or credit account. For debit accounts, this field is always cash.",
"type": "string",
"enum": [
"cash",
"credit"
]
},
"cardId": {
"description": "The card ID associated with the transaction. If the transaction is not associated with a card, this field is not sent.",
"type": "string"
},
"cashbackInfo": {
"$ref": "#/$defs/TransactionCashbackInfo",
"x-entrypoint": {
"virtualPath": "schemas/TransactionCashbackInfo",
"sourcePath": "schemas/TransactionCashbackInfo.yaml",
"title": "TransactionCashbackInfo",
"origin": "./src/publicApi"
}
},
"fxFeeInfo": {
"$ref": "#/$defs/TransactionFxFeeInfo",
"x-entrypoint": {
"virtualPath": "schemas/TransactionFxFeeInfo",
"sourcePath": "schemas/TransactionFxFeeInfo.yaml",
"title": "TransactionFxFeeInfo",
"origin": "./src/publicApi"
}
},
"originalCurrency": {
"$ref": "#/$defs/OriginalCurrency",
"x-entrypoint": {
"virtualPath": "schemas/OriginalCurrency",
"sourcePath": "schemas/OriginalCurrency.yaml",
"title": "OriginalCurrency",
"origin": "./src/publicApi"
}
},
"orderId": {
"description": "The order ID, as reported by the merchant, associated with the specific transaction.",
"type": "string"
},
"referenceNumber": {
"description": "The reference number provided by Visa for this transaction.",
"type": "string"
},
"authorizedAt": {
"description": "The UTC timestamp of when the transaction was authorized. Only exists for card transactions.",
"type": "string"
},
"declineReason": {
"type": "string",
"description": "The reason for the decline. Only exists for card transactions with `detailedStatus` = `declined`."
},
"approvalReason": {
"type": "string",
"description": "The reason for the approval. Only exists for card transactions with `detailedStatus` = `pending` or `settled`."
},
"providerAuthorizationId": {
"type": "string",
"description": "The provider authorization ID for the transaction. Only exists for card transactions."
},
"wireInfo": {
"type": "object",
"description": "Information about the associated wire transfer if the transaction is a wire transfer.",
"properties": {
"counterpartyBank": {
"type": "string",
"description": "The name of the bank or financial institution of the counterparty in the wire transfer"
},
"typeCode": {
"type": "string",
"description": "A code that identifies the type of wire transfer (e.g., domestic, international)"
},
"subtypeCode": {
"type": "string",
"description": "A code that identifies the specific type or subtype of the wire transfer"
},
"omad": {
"type": "string",
"description": "Outgoing Message Authentication Data - a unique identifier assigned by the originating bank for the outgoing wire transfer. If the other bank is an account with Column N.A., this field is empty."
},
"imad": {
"type": "string",
"description": "Incoming Message Authentication Data - a unique identifier assigned by the receiving bank for the incoming wire transfer. If the other bank is an account with Column N.A., this field is empty."
},
"senderReference": {
"type": "string",
"description": "A reference number or identifier provided by the sender of the wire transfer for tracking purposes"
},
"businessFunctionCode": {
"type": "string",
"description": "A code that identifies the business function or purpose of the wire transfer (e.g., customer transfer, bank transfer, etc.)"
}
},
"required": [
"subtypeCode",
"omad",
"imad",
"senderReference",
"businessFunctionCode",
"typeCode"
]
},
"achInfo": {
"type": "object",
"description": "Information about the associated ACH transfer if the transaction is an ACH transfer.",
"properties": {
"counterpartyBank": {
"type": "string",
"description": "The name of the bank or financial institution of the counterparty in the ACH transfer"
},
"receiverId": {
"type": "string",
"description": "The unique identifier for the receiver of the ACH transfer"
},
"companyId": {
"type": "string",
"description": "The company identification number assigned by the originating depository financial institution"
},
"companyDiscretionaryData": {
"type": "string",
"description": "Optional data field that can be used by the originating company for internal purposes"
},
"companyEntryDescription": {
"type": "string",
"description": "An optional description of the purpose of the ACH entry as provided by the originating company"
},
"traceNumber": {
"type": "string",
"description": "A unique number assigned by the originating depository financial institution to identify the ACH entry"
},
"entryClassCode": {
"type": "string",
"description": "A three-character code that identifies the type of ACH entry (e.g., PPD for Prearranged Payment and Deposit, CCD for Corporate Credit or Debit)"
},
"paymentRelatedInfo": {
"type": "string",
"description": "Additional information related to the payment, such as invoice numbers, payment references, or other payment-specific details"
}
},
"required": [
"receiverId",
"companyId",
"companyDiscretionaryData",
"traceNumber",
"entryClassCode",
"paymentRelatedInfo"
]
},
"rtpInfo": {
"type": "object",
"description": "Information about the associated Real-Time Payment (RTP) transfer if the transaction is a real-time transfer.",
"properties": {
"counterpartyBank": {
"type": "string",
"description": "The name of the bank or financial institution of the counterparty in the real-time transfer"
},
"endToEndId": {
"type": "string",
"description": "A unique end-to-end identifier for the real-time payment transaction that remains with the payment throughout its lifecycle"
},
"routingNumber": {
"type": "string",
"description": "The routing number of the counterparty's bank"
},
"originatorName": {
"type": "string",
"description": "The name of the originator of the real-time payment"
},
"description": {
"type": "string",
"description": "Additional description or purpose of the real-time payment"
}
}
},
"sepaInfo": {
"type": "object",
"description": "Information about the associated SEPA (Single Euro Payments Area) transfer if the transaction is a SEPA deposit into a Global USD account.",
"properties": {
"senderName": {
"type": "string",
"description": "The name of the originator of the SEPA transfer."
},
"recipientName": {
"type": "string",
"description": "The name of the recipient of the SEPA transfer."
},
"reference": {
"type": "string",
"description": "The free-form reference field set by the originator on the SEPA transfer."
},
"iban": {
"type": "string",
"description": "The full IBAN of the counterparty on the SEPA transfer."
},
"ibanLast4": {
"type": "string",
"description": "The last 4 characters of the IBAN of the counterparty on the SEPA transfer."
},
"bic": {
"type": "string",
"description": "The BIC of the counterparty bank on the SEPA transfer."
},
"uetr": {
"type": "string",
"description": "The unique end-to-end transaction reference (UETR) for the SEPA transfer."
},
"paymentScheme": {
"type": "string",
"description": "The SEPA payment scheme used (e.g., `sepa_credit_transfer`, `sepa_instant`)."
}
}
},
"pixInfo": {
"type": "object",
"description": "Information about the associated PIX (Brazilian instant-payment) transfer if the transaction is a PIX deposit into a Global USD account.",
"properties": {
"senderName": {
"type": "string",
"description": "The name of the originator of the PIX transfer."
},
"description": {
"type": "string",
"description": "A description of the PIX transfer provided by the originator."
},
"reference": {
"type": "string",
"description": "The free-form reference field set by the originator on the PIX transfer."
},
"trackingNumber": {
"type": "string",
"description": "The PIX network tracking number (`endToEndId`) for the transfer."
}
}
},
"speiInfo": {
"type": "object",
"description": "Information about the associated SPEI (Mexican real-time payment) transfer if the transaction is a SPEI deposit into a Global USD account.",
"properties": {
"senderName": {
"type": "string",
"description": "The name of the originator of the SPEI transfer."
},
"description": {
"type": "string",
"description": "A description of the SPEI transfer provided by the originator."
},
"reference": {
"type": "string",
"description": "The free-form reference field (concepto de pago) set by the originator on the SPEI transfer."
},
"clabe": {
"type": "string",
"description": "The CLABE of the counterparty on the SPEI transfer."
},
"trackingNumber": {
"type": "string",
"description": "The SPEI network tracking number (clave de rastreo) for the transfer."
}
}
},
"fpsInfo": {
"type": "object",
"description": "Information about the associated Faster Payments transfer if the transaction is a Faster Payments deposit into a Global USD account.",
"properties": {
"senderName": {
"type": "string",
"description": "The name of the originator of the Faster Payments transfer."
},
"recipientName": {
"type": "string",
"description": "The name of the recipient of the Faster Payments transfer."
},
"reference": {
"type": "string",
"description": "The free-form reference field set by the originator on the Faster Payments transfer."
},
"accountNumber": {
"type": "string",
"description": "The account number of the counterparty on the Faster Payments transfer."
},
"last4": {
"type": "string",
"description": "The last 4 digits of the account number of the counterparty on the Faster Payments transfer."
},
"sortCode": {
"type": "string",
"description": "The sort code of the counterparty bank on the Faster Payments transfer."
},
"uetr": {
"type": "string",
"description": "The unique end-to-end transaction reference (UETR) for the Faster Payments transfer."
}
}
},
"feeInfo": {
"type": "object",
"description": "Information populated if this transaction is a fee assessed by Slash.",
"properties": {
"relatedTransaction": {
"type": "object",
"required": [
"id",
"amount"
],
"propertie
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/slash/refs/heads/main/json-schema/slash-fee-transaction-schema.json
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/slash-fee-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 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.