{ "$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", "type": "string", "maxLength": 1 }, "merchantLocalDate": { "description": "Transaction local date (month and day) in the format of MMDD on which the transaction takes place at the point of card acceptor location. This date is represneted in local time zone units, not in UTC time zone.", "type": "string", "maxLength": 4 }, "merchantLocalTime": { "description": "Transaction local time at which the transaction takes place at the point of card acceptor location. Time is repreented in local time zone units, not in UTC time zone.", "type": "string", "maxLength": 6 }, "messageTypeIndicator": { "description": "Message Type Identifier.
Possible values:
'0100' - Authorization
'0120' - Authorization Advice
'0400' - Reversal (full or partial)
'0420' - Reversal advice (full or partial)", "type": "string", "maxLength": 4 }, "billingCurrencyAmount": { "$ref": "#/$defs/BillingCurrencyAmount" }, "effectOnBalance": { "description": "This value will be same as the billing currency amount in event of a Partial Replacement. In Partial replacement the actual billing currency amount will replace the billing currency amount ", "type": "string" }, "transactionCurrencyAmount": { "$ref": "#/$defs/TransactionCurrencyAmount" } }, "required": [ "authorizationTransactionId", "systemTraceAuditNumber", "type", "merchantLocalDate", "messageTypeIndicator", "billingCurrencyAmount" ] }, "BillingAmount": { "properties": { "billingCurrencyAmount": { "description": "Specifies the value of the transaction amount which is converted to the cardholder's billling currency, excluding cardholder billing fees.", "type": "string", "maxLength": 12 }, "billingCurrencyCode": { "description": "Specifies the ISO currency code of accounts that was initially set up for billing the transactions", "type": "string", "maxLength": 3 } }, "required": [ "billingCurrencyAmount", "billingCurrencyCode" ] }, "BillingCurrencyAmount": { "properties": { "amount": { "description": "Specifies the value of the transaction amount which is converted to the cardholder's billling currency, excluding cardholder billing fees.", "type": "string", "maxLength": 12 }, "currencyCode": { "description": "Specifies the ISO currency code of accounts that was initially set up for billing the transactions", "type": "string", "maxLength": 3 }, "currencyCodeAlphabetic": { "description": "Indicates the currency name of the transaction amount in the issuer’s currency", "type": "string", "maxLength": 3 } }, "required": [ "amount", "currencyCode", "currencyCodeAlphabetic" ] }, "ClearingMerchant": { "properties": { "merchantCategoryCode": { "description": "The category under which the merchant is been assigned by the network", "type": "string", "maxLength": 4 }, "mccDescription": { "description": "The decsription of the category on which merchant has been assigned by the card network", "type": "string", "maxLength": 200 }, "merchantId": { "description": "The ID created for a specific merchant by the card network", "type": "string", "maxLength": 50 }, "terminalId": { "description": "The ID under which the terminal has been categorised", "type": "string", "maxLength": 50 }, "merchantName": { "description": "The merchant name that corresponds to merchant id defined by the card netwrok", "type": "string", "maxLength": 200 }, "additionalMerchantName": { "description": "Alternate Card Acceptor Description Data may provide a local language version of the data using a non-standard character set", "type": "string", "maxLength": 200 }, "retrievalReferenceNumber": { "description": "Specifies the Terminal transaction Number in a number format", "type": "string", "maxLength": 50 }, "merchantStreetAddress": { "description": "Specifies the address of the merchant", "type": "string", "maxLength": 200 }, "merchantCity": { "description": "Merchant city", "type": "string", "maxLength": 100 }, "merchantState": { "description": "Alphabetic code for the Merchant state", "type": "string", "maxLength": 3 }, "merchantPostalCode": { "description": "Postal code for merchant address", "type": "string", "maxLength": 50 }, "merchantCountryCode": { "description": "3 digit country code for the merchant country", "type": "string", "maxLength": 3 }, "merchantCountryCodeDescription": { "description": "Merchant country name", "type": "string", "maxLength": 200 }, "transactionCurrencyAmount": { "$ref": "#/$defs/TransactionCurrencyAmount" } }, "required": [ "merchantCategoryCode", "mccDescription", "merchantId", "terminalId", "merchantName", "retrievalReferenceNumber", "merchantStreetAddress", "merchantCity", "merchantCountryCode" ] }, "ClearingTransactionContent": { "properties": { "clearingTransactionId": { "description": "Unique identifier of the transaction", "type": "string", "maxLength": 50 }, "clearingType": { "description": "Specifies the type of transaction whether it is Credit or Debit.If Mastercard returns 'C', then GRACE returns 'Credit'If Mastercard returns 'D', then GRACE returns 'Debit'", "type": "string", "maxLength": 6 }, "acquirerReferenceData": { "description": "Data an acquirer supplies in an acquirer-originated message to an issuer", "type": "string", "maxLength": 23 }, "functionCode": { "description": "Three-digit data element that indicates the specific purpose of a message in a message class.Uniquely identifies all transaction functions the clearing system performs.", "type": "string", "maxLength": 3 }, "messageTypeIndicator": { "description": "Four-digit numeric field describing the type of message being interchanged.
Possible values:", "type": "string", "maxLength": 4 }, "transactionType": { "description": "Specifies the type of transaction
Possible Values