{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/Transaction", "title": "Transaction", "type": "object", "description": "Bank account transaction", "properties": { "id": { "type": "string", "description": "Transaction ID", "example": "TRX-001234" }, "accountId": { "type": "string", "example": "ACC-001234" }, "amount": { "type": "number", "description": "Transaction amount (positive=credit, negative=debit)", "example": -1500.0 }, "currency": { "type": "string", "example": "CHF" }, "valueDate": { "type": "string", "format": "date", "example": "2025-04-15" }, "bookingDate": { "type": "string", "format": "date", "example": "2025-04-15" }, "description": { "type": "string", "example": "Transfer to savings" }, "counterpartyName": { "type": "string", "example": "Jane Smith" }, "counterpartyIban": { "type": "string", "example": "DE89370400440532013000" }, "type": { "type": "string", "enum": [ "CREDIT", "DEBIT", "FEE", "INTEREST" ], "example": "DEBIT" }, "status": { "type": "string", "enum": [ "PENDING", "BOOKED", "CANCELLED" ], "example": "BOOKED" } } }