{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-transaction-response-schema.json",
"title": "TransactionResponse",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/citi-get-notifications-api-openapi.yml#/components/schemas/TransactionResponse",
"properties": {
"count": {
"description": "The total number of notifications returned in a GET request.",
"type": "integer"
},
"offset": {
"description": "The offset value used in a GET request.",
"type": "integer"
},
"limit": {
"description": "The limit value used in a GET request.",
"type": "integer"
},
"total": {
"description": "The total number of notifications that fall within the scope of the GET request. This value may dynamically update in subsequent calls, to reflect new notifications or expired notifications",
"type": "integer"
},
"notifications": {
"description": "List of Notification requests",
"type": "array",
"items": {
"$ref": "#/$defs/NotificationResponse"
}
}
},
"$defs": {
"AuthMerchant": {
"properties": {
"merchantId": {
"description": "The ID created for a specific merchant by the card network",
"type": "string",
"maxLength": 50
},
"merchantCategoryCode": {
"description": "The category under which the merchant is been assigned by the network",
"type": "string",
"maxLength": 4
},
"merchantName": {
"description": "The merchant name that corresponds to merchant id defined by the card netwrok",
"type": "string",
"maxLength": 200
},
"merchantCity": {
"description": "Merchant city",
"type": "string",
"maxLength": 100
},
"merchantState": {
"description": "Alphabetic code for the Merchant state",
"type": "string",
"maxLength": 3
},
"merchantCountryCode": {
"description": "3 digit country code for the merchant country",
"type": "string",
"maxLength": 3
}
},
"required": [
"merchantId",
"merchantCategoryCode",
"merchantName",
"merchantCity",
"merchantState",
"merchantCountryCode"
],
"additionalProperties": false
},
"AuthTransactionContent": {
"properties": {
"messageTypeIndicator": {
"description": "Message Type Identifier
Possible values:
\"0100\" - Authorization
\"0110\" - Authorization Request Response
\"0120\" - Authorization Advice
\"0400\" - Reversal (full or partial)
\"0410\" - Reversal response
\"0420\" - Reversal advice (full or partial))
\"0430\" - Reversal advice response (full or partial)",
"type": "string",
"maxLength": 4
},
"transactionId": {
"description": "Unique identifier of the transaction",
"type": "string",
"maxLength": 50
},
"transactionAmount": {
"$ref": "#/$defs/TransactionAmount"
},
"billingAmount": {
"$ref": "#/$defs/BillingAmount"
},
"authorizationResponseDetail": {
"description": "Authorization Status/Reason Description from Issuer
Max legnth - MC: 100
Mastercard
00 - Approved or completed successfully
01 - Refer to card issuer
03 - Invalid merchant Decline
04 - Capture card Capture
05 - Do not honor
06 - Error
08 - Honor with ID
10 - Partial Approval
12 - Invalid transaction
13 - Invalid amount
14 - Invalid card number
15 - Invalid issuer
17 - Customer cancellation
30 - Format error
32 - Partial reversal
34 - Suspect Fraud
41 - Lost card
43 - Stolen card
51 - Insufficient funds/over credit limit
54 - Expired card
55 - Invalid PIN
57 - Transaction not permitted to issuer/cardholder
58 - Transaction not permitted to acquirer/terminal
61 - Exceeds withdrawal amount limit
62 - Restricted card
63 - Security violation
65 - Exceeds withdrawal count limit
68 - Response received late
70 - Contact Card Issuer
71 - PIN Not Changed
75 - Allowable number of PIN tries exceeded
76 - Invalid/nonexistent To Account specified
77 - Invalid/nonexistent From Account specified
78 - Invalid/nonexistent account specified (general)
81 - Domestic Debit Transaction Not Allowed
82 - Timeout at issuer
84 - Invalid Authorization Life Cycle
85 - Not declined Valid for all zero amount transactions.
86 - PIN Validation not possible
87 - Purchase Amount Only, No Cash Back Allowed
88 - Cryptographic failure
89 - Unacceptable PIN Transaction Declined Retry
91 - Authorization System or issuer system inoperative
92 - Unable to route transaction
94 - Duplicate transmission detected
96 - System error",
"type": "string",
"maxLength": 100
},
"authorizationCode": {
"description": "Transaction response ID assigned by the authorizing institution for Authorization transactions",
"type": "string",
"maxLength": 50
},
"transactionDate": {
"description": "Masercard: Convert UTC date to format YYYY-MM-DD (ISO-8601) and enrich the YYYY value based on the current year",
"type": "string",
"maxLength": 10
},
"transactionTime": {
"description": "The time of the transaction that was initiated. hh:mm:ss (24 hours format)",
"type": "string",
"maxLength": 8
},
"transactionType": {
"description": "Specifies the nature of the transaction whether it was authorized or returned etc
Visa : 107 max length MC: 40 Max length",
"type": "string",
"maxLength": 107
},
"preAuthorizationFlag": {
"description": "Pre Authorization flag
Possible values: 'Yes' - When posTransactionStatus is 4 'No' - For all other values",
"type": "string"
},
"merchant": {
"$ref": "#/$defs/Merchant"
},
"realCardDetails": {
"$ref": "#/$defs/RealCardDetails"
},
"virtualCardDetails": {
"$ref": "#/$defs/VirtualCardDetails"
},
"inControlOnBehalfServiceResult": {
"$ref": "#/$defs/InControlOnBehalfServiceResult"
},
"originalMessage": {
"$ref": "#/$defs/OriginalMessage"
},
"adviceReasonCode": {
"description": "Advice Reason Code indicates to the receiver of an Advice message the specific reason for the transmission of the Advice message",
"type": "string",
"format": "string",
"maxLength": 50
},
"replacementAmounts": {
"$ref": "#/$defs/ReplacementAmounts"
},
"purchaseRequest": {
"$ref": "#/$defs/PurchaseRequest"
},
"acquirerIdentifier": {
"description": "The identifier under which the acquirer has been categorised",
"type": "string",
"maxLength": 50
}
},
"required": [
"messageTypeIndicator",
"transactionId",
"transactionAmount",
"billingAmount",
"authorizationResponseDetail",
"authorizationCode",
"transactionDate",
"transactionTime",
"transactionType",
"merchant",
"inControlOnBehalfServiceResult",
"originalMessage"
]
},
"Authorization": {
"properties": {
"authorizationTransactionId": {
"description": "Specifies the Authorization Transaction ID used for matching.",
"type": "string"
},
"systemTraceAuditNumber": {
"description": "Systems Trace Audit Number (STAN) is a number a message initiator assigns to uniquely identify a transaction.",
"type": "string"
},
"type": {
"description": "Indicates the type of transaction.
Possible Values