Bud Financial · Schema
Bud Enriched Transaction
An enriched transaction record returned by the Bud Financial Data API. Includes raw bank data plus Bud's AI/ML-derived enrichment fields (category, merchant, recurrence, geolocation).
Open BankingTransaction EnrichmentCategorizationAffordabilityPaymentsAISPPISPFinancial DataFinTechUKAIMachine Learning
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Bud-assigned globally unique transaction identifier. |
| account_id | string | Identifier of the account the transaction belongs to. |
| provider_transaction_id | string | Original transaction identifier provided by the source ASPSP or ingested system. |
| amount | number | Transaction amount. Debits are negative, credits positive. |
| currency | string | ISO 4217 currency code. |
| date | string | Posted date of the transaction. |
| booking_date | string | |
| value_date | string | |
| description | string | Raw bank-provided description string. |
| category | object | Bud-assigned category from the active category model. |
| merchant | object | Bud-identified merchant for the transaction. |
| recurrence | object | Recurring-transaction metadata, set when Bud detects a recurring pattern. |
| geo | object | |
| status | string | |
| type | string | Transaction type (debit, credit, transfer, fee, etc.). |
| running_balance | number |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/bud-co/refs/heads/main/json-schema/bud-transaction-schema.json",
"title": "Bud Enriched Transaction",
"type": "object",
"description": "An enriched transaction record returned by the Bud Financial Data API. Includes raw bank data plus Bud's AI/ML-derived enrichment fields (category, merchant, recurrence, geolocation).",
"required": ["id", "account_id", "amount", "currency", "date"],
"properties": {
"id": {
"type": "string",
"description": "Bud-assigned globally unique transaction identifier."
},
"account_id": {
"type": "string",
"description": "Identifier of the account the transaction belongs to."
},
"provider_transaction_id": {
"type": "string",
"description": "Original transaction identifier provided by the source ASPSP or ingested system."
},
"amount": {
"type": "number",
"description": "Transaction amount. Debits are negative, credits positive."
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code."
},
"date": {
"type": "string",
"format": "date",
"description": "Posted date of the transaction."
},
"booking_date": {
"type": "string",
"format": "date-time"
},
"value_date": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"description": "Raw bank-provided description string."
},
"category": {
"type": "object",
"description": "Bud-assigned category from the active category model.",
"properties": {
"id": {"type": "string"},
"name": {"type": "string"},
"model_id": {"type": "string"},
"parent": {"type": "string"}
}
},
"merchant": {
"type": "object",
"description": "Bud-identified merchant for the transaction.",
"properties": {
"id": {"type": "string"},
"name": {"type": "string"},
"logo": {"type": "string", "format": "uri"},
"website": {"type": "string", "format": "uri"},
"category": {"type": "string"}
}
},
"recurrence": {
"type": "object",
"description": "Recurring-transaction metadata, set when Bud detects a recurring pattern.",
"properties": {
"is_recurring": {"type": "boolean"},
"frequency": {"type": "string", "enum": ["daily", "weekly", "fortnightly", "monthly", "quarterly", "annually", "irregular"]},
"next_expected_date": {"type": "string", "format": "date"}
}
},
"geo": {
"type": "object",
"properties": {
"country": {"type": "string"},
"city": {"type": "string"},
"latitude": {"type": "number"},
"longitude": {"type": "number"}
}
},
"status": {
"type": "string",
"enum": ["booked", "pending", "declined"]
},
"type": {
"type": "string",
"description": "Transaction type (debit, credit, transfer, fee, etc.)."
},
"running_balance": {
"type": "number"
}
}
}