{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/citizens-financial-group/main/json-schema/citizens-financial-group-transactions-schema.json", "title": "Transactions Entity", "description": "Array of transactions", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/citizens-financial-group-accounts-api-openapi.yml#/components/schemas/Transactions", "allOf": [ { "$ref": "#/$defs/PaginatedArray" }, { "type": "object", "properties": { "transactions": { "description": "Transaction info for account type deposit", "type": "array", "items": { "$ref": "#/$defs/DepositTransaction" } } } } ], "$defs": { "ContentTypes": { "title": "Content Types", "description": "Supported documented formats", "type": "string", "enum": [ "image/gif", "image/jpeg", "image/tiff", "image/png", "application/json" ] }, "DepositTransaction": { "title": "DepositTransaction Entity", "allOf": [ { "$ref": "#/$defs/Transaction" }, { "properties": { "transactionType": { "allOf": [ { "$ref": "#/$defs/DepositTransactionType" } ], "description": "Deposit transaction type" }, "checkNumber": { "type": "integer", "format": "int64", "description": "Check identification info" } }, "type": "object" } ] }, "DepositTransactionType": { "title": "Deposit Transaction Type", "type": "string", "enum": [ "ADJUSTMENT", "ATMDEPOSIT", "ATMWITHDRAWAL", "BILLPAYMENT", "CHECK", "DEPOSIT", "DIRECTDEPOSIT", "FEE", "OTHER", "POSCREDIT", "POSDEBIT", "TRANSFER" ] }, "HateoasLink": { "title": "HATEOAS Link", "description": "REST application constraint (Hypermedia As The Engine Of Application State)", "required": [ "href" ], "type": "object", "properties": { "href": { "type": "string", "format": "uri-reference", "description": "URL to invoke the action on the resource" }, "action": { "type": "string", "enum": [ "GET", "POST", "PATCH", "DELETE", "PUT" ], "description": "HTTP Method to use for the request" }, "rel": { "description": "Relation of this link to its containing entity, as defined by and with many example relation values at [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)", "type": "string" }, "types": { "type": "array", "items": { "$ref": "#/$defs/ContentTypes" }, "description": "Content-types that can be used in the Accept header" } } }, "Number": { "title": "Number", "type": "number" }, "PageMetadata": { "title": "Page Metadata", "description": "Offset IDs for paginated result sets", "type": "object", "properties": { "nextOffset": { "type": "string", "description": "Opaque identifier. Does not need to be numeric or have any specific pattern. Implementation specific" }, "prevOffset": { "type": "string", "description": "Opaque identifier. Does not need to be numeric or have any specific pattern. Implementation specific" }, "totalElements": { "type": "integer", "description": "Total number of elements" } } }, "PageMetadataLinks": { "title": "Page Metadata Links", "description": "Resource URLs for retrieving next or previous datasets", "type": "object", "properties": { "next": { "$ref": "#/$defs/HateoasLink", "description": "Resource URL for retrieving next dataset" }, "prev": { "$ref": "#/$defs/HateoasLink", "description": "Resource URL for retrieving previous dataset" } } }, "PaginatedArray": { "title": "Paginated Array", "description": "Base class for results that may be paginated", "type": "object", "properties": { "page": { "$ref": "#/$defs/PageMetadata", "description": "Offset IDs for navigating result sets" }, "links": { "$ref": "#/$defs/PageMetadataLinks", "description": "Resource URLs for navigating result sets" } } }, "String255": { "title": "String255", "type": "string", "maxLength": 255 }, "Timestamp": { "title": "Timestamp", "type": "string", "format": "date-time", "description": "UTC time zone defined as per ISO 8601 date format. date format - YYYY-MM-DD

Timestamp fields are in ISO 8601 date time format - YYYY-MM-DDThh:mm:ss.sssZ example: 2022-12-13T12:00:00.000Z or 2022-12-13" }, "Transaction": { "title": "Transaction Entity", "properties": { "accountId": { "description": "Account ID associated with the transaction.", "allOf": [ { "$ref": "#/$defs/UniqueIdentifier" } ] }, "transactionId": { "description": "Unique transactions id for account", "allOf": [ { "$ref": "#/$defs/UniqueIdentifier" } ] }, "referenceTransactionId": { "description": "Unique reference trasaction id", "allOf": [ { "$ref": "#/$defs/UniqueIdentifier" } ] }, "postedTimestamp": { "description": "Transaction posted date and time", "allOf": [ { "$ref": "#/$defs/Timestamp" } ] }, "transactionTimestamp": { "description": "Transaction entered in the backend system", "allOf": [ { "$ref": "#/$defs/Timestamp" } ] }, "description": { "type": "string", "description": "The description of the transaction" }, "memo": { "description": "Secondary transaction description", "allOf": [ { "$ref": "#/$defs/String255" } ] }, "debitCreditMemo": { "$ref": "#/$defs/String255" }, "category": { "type": "string", "maxLength": 4, "description": "Transaction category" }, "status": { "$ref": "#/$defs/String255" }, "amount": { "description": "Transaction amount in currency", "allOf": [ { "$ref": "#/$defs/Number" } ] } }, "type": "object" }, "UniqueIdentifier": { "title": "UniqueIdentifier", "type": "string", "maxLength": 256 } } }