Citi · Schema

CaseRequest

BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway

Properties

Name Type Description
reasonCode string Reason Code provides the Dispute reason for sending the chargeback. Based on the selected reason code, the respective reason code details need to be passed in the request.
reasonCodeDetails object
transactionDetails array Dispute transactions details
View JSON Schema on GitHub

JSON Schema

citi-case-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-case-request-schema.json",
  "title": "CaseRequest",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/citi-create-dispute-request-api-openapi.yml#/components/schemas/CaseRequest",
  "properties": {
    "reasonCode": {
      "description": "Reason Code provides the Dispute reason for sending the chargeback. Based on the selected reason code, the respective reason code details need to be passed in the request.",
      "type": "string",
      "format": "string",
      "title": "reasonCode",
      "enum": [
        "DuplicateProcessing",
        "AlteredAmount",
        "IncorrectTransactionCurrency",
        "MultipleProcessing",
        "CreditAppliedAsCharge",
        "HotelCancellation",
        "AirlineTicketCancellation",
        "MerchandiseReturned",
        "CreditNotReceived",
        "CancelledRecurringTransaction",
        "PaidByOtherMeans",
        "ATMDiscrepancy",
        "NotAsDescribed",
        "NeverReceived",
        "FraudulentTransaction"
      ]
    },
    "reasonCodeDetails": {
      "$ref": "#/$defs/ReasonCodeDetails"
    },
    "transactionDetails": {
      "description": "Dispute transactions details",
      "type": "array",
      "maxLength": 1,
      "title": "transactionDetails",
      "items": {
        "$ref": "#/$defs/TransactionDetails"
      }
    }
  },
  "required": [
    "reasonCode",
    "transactionDetails",
    "reasonCodeDetails"
  ],
  "$defs": {
    "ATMDiscrepancy": {
      "properties": {
        "amntDispensed": {
          "description": "Amount dispensed at the ATM.",
          "type": "string",
          "format": "Double",
          "title": "amntDispensed",
          "maxLength": 19
        }
      },
      "required": [
        "amntDispensed"
      ]
    },
    "AirlineTicketCancellation": {
      "title": "AirlineTicketCancellation",
      "properties": {
        "isCancelled": {
          "description": "Is the airline ticket cancelled? True/False",
          "type": "string",
          "format": "string",
          "title": "isCancelled"
        },
        "cancelledDate": {
          "description": "Cancellation Date.If isCancelled == 'true', then cancelledDate is required ",
          "type": "string",
          "format": "Date",
          "title": "cancelledDate"
        },
        "cancelReason": {
          "description": "Cancellation Reason",
          "type": "string",
          "format": "string",
          "title": "cancelReason"
        },
        "ticketNumber": {
          "description": "Ticket Number",
          "type": "string",
          "format": "string",
          "title": "ticketNumber"
        },
        "contactedAirlineOn": {
          "description": "Date on which the client contacted the airline ",
          "type": "string",
          "format": "Date",
          "title": "contactedAirlineOn"
        },
        "airlineResponse": {
          "description": "Response from the airline",
          "type": "string",
          "format": "string",
          "title": "airlineResponse"
        },
        "travelAgentDetails": {
          "description": "Details of the Travel Agent ",
          "type": "string",
          "format": "string",
          "title": "travelAgentDetails"
        },
        "cancellationPolicyAndNum": {
          "description": "Cancellation Policy and Number",
          "type": "string",
          "format": "string",
          "title": "cancellationPolicyAndNum"
        },
        "isMerchantBankrupt": {
          "description": "Is merchant in bankruptcy/liquidation? True/False",
          "type": "string",
          "format": "string",
          "title": "isMerchantBankrupt"
        },
        "serviceDate": {
          "description": "Date of service or expected service",
          "type": "string",
          "format": "Date",
          "title": "serviceDate"
        }
      },
      "required": [
        "isCancelled",
        "isMerchantBankrupt",
        "serviceDate"
      ]
    },
    "AlteredAmount": {
      "properties": {
        "chComments": {
          "description": "Cardholder comments",
          "type": "string",
          "format": "alphanumeric",
          "title": "chComments",
          "maxLength": 250
        },
        "chAlteredAmtFrm": {
          "description": "This is the expected original transaction amount",
          "type": "string",
          "format": "Double",
          "title": "chAlteredAmtFrm",
          "maxLength": 19
        },
        "chAlteredAmtTo": {
          "description": "This is the amount that the original transaction amount was altered to",
          "type": "string",
          "format": "Double",
          "title": "chAlteredAmtTo",
          "maxLength": 19
        }
      },
      "required": [
        "chAlteredAmtFrm",
        "chAlteredAmtTo"
      ]
    },
    "CancelledRecurringTransaction": {
      "title": "CancelledRecurringTransaction",
      "properties": {
        "chNotificationDt": {
          "description": "Cardholder notification date to the merchant.",
          "type": "string",
          "format": "Date",
          "title": "chNotificationDt"
        },
        "contactedMerchantDt": {
          "description": "Cardholder contact date with the Merchant.Either Contacted Merchant Date or Merchant Response is required ",
          "type": "string",
          "format": "Date",
          "title": "contactedMerchantDt"
        },
        "merchantResponse": {
          "description": "Merchant response text to the card holder.Either Contacted Merchant Date or Merchant Response is required",
          "type": "string",
          "format": "string",
          "title": "merchantResponse"
        },
        "cancellationNumber": {
          "description": "Cancellation number provided by the merchant to the Cardholder.",
          "type": "string",
          "format": "string",
          "title": "cancellationNumber"
        },
        "cancellationReason": {
          "description": "Cancellation Reason",
          "type": "string",
          "format": "string",
          "title": "cancellationReason",
          "maxLength": 250
        }
      },
      "required": [
        "chNotificationDt",
        "cancellationReason"
      ]
    },
    "CreditAppliedAsCharge": {
      "properties": {
        "chComments": {
          "description": "Cardholder comments",
          "type": "string",
          "format": "alphanumeric",
          "title": "chComments",
          "maxLength": 250
        }
      },
      "additionalProperties": false
    },
    "CreditNotReceived": {
      "properties": {
        "disputeAmnt": {
          "description": "Disputed Amount for which the credit is not received",
          "type": "string",
          "format": "Double",
          "title": "disputeAmnt",
          "maxLength": 19
        },
        "creditVoucherDate": {
          "description": "Date of credit voucher, transaction receipt or refund acknowledgement",
          "type": "string",
          "format": "Date",
          "title": "creditVoucherDate"
        },
        "cancellationDate": {
          "description": "Date the cardholder cancelled the service or returned the merchandise",
          "type": "string",
          "format": "Date",
          "title": "cancellationDate"
        }
      },
      "required": [
        "disputeAmnt",
        "creditVoucherDate",
        "cancellationDate"
      ]
    },
    "DuplicateProcessing": {
      "properties": {
        "chComments": {
          "description": "Cardholder comments",
          "type": "string",
          "format": "alphanumeric",
          "title": "chComments",
          "maxLength": 250
        },
        "chAckd": {
          "description": "Checkbox Answer to the Question -I certify that the information provided is true to the best of my knowledge (True/False)",
          "type": "string",
          "format": "string",
          "title": "chAckd"
        }
      },
      "required": [
        "chAckd"
      ]
    },
    "FraudulentTransaction": {
      "title": "FraudulentTransaction",
      "properties": {
        "fraudulentType": {
          "description": "fraudulentType of fraud: Lost/Stolen/NeverReceived",
          "type": "string",
          "format": "string",
          "title": "fraudulentType"
        },
        "cardInPossessionDuringTxn": {
          "description": "Was the card in possession of the CH during txn (True/False).",
          "type": "string",
          "format": "string",
          "title": "cardInPossessionDuringTxn"
        },
        "anyoneHadAccessToCard": {
          "description": "Anyone else had access to the Card.True/False",
          "type": "string",
          "format": "string",
          "title": "anyoneHadAccessToCard"
        },
        "relationToCH": {
          "description": " Relationship of the CH with the person who had access to the Card.",
          "type": "string",
          "format": "string",
          "title": "relationToCH",
          "maxLength": 16
        },
        "cardLostDt": {
          "description": "Date when the card was lost. Should be YYYYMMDD format",
          "type": "string",
          "format": "Date",
          "title": "cardLostDt"
        },
        "cardLostDiscDt": {
          "description": "Date when the card lost was discovered.. Should be YYYYMMDD format",
          "type": "string",
          "format": "Date",
          "title": "cardLostDiscDt"
        },
        "cardStolenDt": {
          "description": "Date when the card was stolen. Should be YYYYMMDD format",
          "type": "string",
          "format": "Date",
          "title": "cardStolenDt"
        },
        "cardStolenDiscDt": {
          "description": "Date when the card stolen was discovered. Should be YYYYMMDD format",
          "type": "string",
          "format": "Date",
          "title": "cardStolenDiscDt"
        },
        "descOnCardStolen": {
          "description": "Describe how the card was stolen. should not exceed 250 char limit",
          "type": "string",
          "format": "string",
          "title": "descOnCardStolen",
          "maxLength": 250
        },
        "isReportedToCiti": {
          "description": "Is card lost or stolen reported to Citi (true/false).",
          "type": "string",
          "format": "string",
          "title": "isReportedToCiti"
        },
        "cardDeliveryAdd": {
          "description": "Address where the card to be delivered.",
          "type": "string",
          "format": "string",
          "title": "cardDeliveryAdd",
          "maxLength": 250
        },
        "chComments": {
          "description": "Cardholder comments",
          "type": "string",
          "format": "string",
          "title": "chComments",
          "maxLength": 250
        }
      },
      "required": [
        "cardInPossessionDuringTxn"
      ]
    },
    "HotelCancellation": {
      "title": "HotelCancellation",
      "properties": {
        "chComments": {
          "description": "Cardholder comments ",
          "type": "string",
          "format": "alphanumeric",
          "title": "chComments",
          "maxLength": 250
        },
        "cancelledDate": {
          "description": "Cardholder cancellation date. Should be YYYYMMDD format",
          "type": "string",
          "format": "Date",
          "title": "cancelledDate"
        },
        "cancelledTime": {
          "description": "Cardholder cancellation time. Should be HH:MM format",
          "type": "string",
          "format": "Time",
          "title": "cancelledTime"
        },
        "cancellationNumber": {
          "description": "Cancellation number .If isCancelPolicyProvided == Y then, Either Cancellation Number or Cancellation Details is required",
          "type": "string",
          "format": "numeric",
          "title": "cancellationNumber"
        },
        "isCancelPolicyProvided": {
          "description": "Is the cancellation policy provided? True/False",
          "type": "string",
          "format": "string",
          "title": "isCancelPolicyProvided"
        },
        "cancellationDetails": {
          "description": "Cancellation details.Either Cancellation Number or Cancellation Details is required",
          "type": "string",
          "format": "alphanumeric",
          "title": "cancellationDetails",
          "maxLength": 250
        },
        "contactedMerchantDt": {
          "description": "Cardholder contact date with the Merchant. Should be YYYYMMDD format",
          "type": "string",
          "format": "Date",
          "title": "contactedMerchantDt"
        },
        "merchantResponse": {
          "description": "Response from the Merchant .If CancellationDetails is iprovided then Merchant Response is Mandatory",
          "type": "string",
          "format": "alphanumeric",
          "title": "merchantResponse"
        },
        "isMerchantBankrupt": {
          "description": "Is the Merchant Bankrupt? (True/False)",
          "type": "string",
          "format": "string",
          "title": "isMerchantBankrupt"
        },
        "serviceType": {
          "description": "Type of Service :T=Timeshare/G=Guaranteed Reservation",
          "type": "string",
          "format": "string",
          "title": "serviceType"
        },
        "reservationType": {
          "description": "If Service Type is  G ,  then choose any of the below  :GR = The cardholder properly cancelled the guaranteed reservation/RC = The cardholder attempted to cancel within 24 hours of delivery of the reservation confirmation/AR = The merchant billed a no show transaction for more than one day's accommodation or rental",
          "type": "string",
          "format": "string",
          "title": "reservationType"
        },
        "serviceDate": {
          "description": "Date of service or expected service",
          "type": "string",
          "format": "Date",
          "title": "serviceDate"
        },
        "cancellationReason": {
          "description": "Cancellation Reason",
          "type": "string",
          "format": "alphanumeric",
          "title": "cancellationReason",
          "maxLength": 250
        }
      },
      "required": [
        "cancelledDate",
        "isCancelPolicyProvided",
        "isMerchantBankrupt",
        "serviceType",
        "serviceDate",
        "cancellationReason"
      ]
    },
    "IncorrectTransactionCurrency": {
      "properties": {
        "merchantProcessedCurr": {
          "description": "Merchants processed currency only. E.g. USD, INR, IDR, SGD",
          "type": "string",
          "format": "string",
          "title": "merchantProcessedCurr",
          "maxLength": 3,
          "minLength": 3
        },
        "chReceiptCurr": {
          "description": "Cardholders receipt currency only. E.g. USD, INR, IDR, SGD",
          "type": "string",
          "format": "string",
          "title": "chReceiptCurr",
          "maxLength": 3,
          "minLength": 3
        }
      },
      "required": [
        "merchantProcessedCurr",
        "chReceiptCurr"
      ]
    },
    "MerchandiseReturned": {
      "title": "MerchandiseReturned",
      "properties": {
        "merchandiseAmnt": {
          "description": "Merchandise Amount",
          "type": "string",
          "format": "Double",
          "title": "merchandiseAmnt",
          "maxLength": 19
        },
        "merchandiseReturnedOn": {
          "description": "Date the merchandise was returned on (YYYYMMDD)",
          "type": "string",
          "format": "Date",
          "title": "merchandiseReturnedOn"
        },
        "returnReason": {
          "description": "Reason for returning the merchandise",
          "type": "string",
          "format": "string",
          "title": "returnReason"
        },
        "contactedMerchantOn": {
          "description": "Date the merchant was contacted on (YYYYMMDD)",
          "type": "string",
          "format": "Date",
          "title": "contactedMerchantOn"
        },
        "merchantResponse": {
          "description": "Merchant Response",
          "type": "string",
          "format": "string",
          "title": "merchantResponse"
        },
        "merchantReturnPolicy": {
          "description": "Merchant Return Policy",
          "type": "string",
          "format": "string",
          "title": "merchantReturnPolicy"
        },
        "returnItems": {
          "description": "Items returned to the merchant",
          "type": "string",
          "format": "string",
          "title": "returnItems"
        },
        "isReturnAuthorized": {
          "description": "Is the Return Authorized? (True/False)",
          "type": "string",
          "format": "string",
          "title": "isReturnAuthorized"
        },
        "merchantAdvise": {
          "description": "Merchant advise",
          "type": "string",
          "format": "string",
          "title": "merchantAdvise"
        },
        "merchandiseReceivedOn": {
          "description": "Date the merchandise was received (YYYMMDD)",
          "type": "string",
          "format": "Date",
          "title": "merchandiseReceivedOn"
        },
        "invoiceNumber": {
          "description": "Invoice Number",
          "type": "string",
          "format": "string",
          "title": "invoiceNumber"
        },
        "packageSignedBy": {
          "description": "Package Signed by ",
          "type": "string",
          "format": "string",
          "title": "packageSignedBy"
        },
        "deliveryAddress": {
          "description": "Delivery Address",
          "type": "string",
          "format": "string",
          "title": "deliveryAddress"
        },
        "returnMethod": {
          "description": "\"Return Method.Mandatory if invoice number is present. <br>  Domain Values: <br> FF=Face to Face <br> FE=Fed Ex <br> D=DHL <br> U=UPS <br> P=Postal Service <br> O=Other\"",
          "type": "string",
          "format": "string",
          "title": "returnMethod"
        },
        "otherComments": {
          "description": "Other Comments.Mandatory if value Other selected in Retun Method",
          "type": "string",
          "format": "string",
          "title": "otherComments",
          "maxLength": 250
        },
        "merchantReturnReceivedDt": {
          "description": "Date of receipt of returned merchandise",
          "type": "string",
          "format": "Date",
          "title": "merchantReturnReceivedDt"
        }
      },
      "required": [
        "merchandiseAmnt",
        "merchandiseReturnedOn",
        "returnReason",
        "contactedMerchantOn",
        "merchantResponse",
        "returnItems",
        "isReturnAuthorized",
        "merchantReturnReceivedDt"
      ]
    },
    "MultipleProcessing": {
      "properties": {
        "chComments": {
          "description": "Cardholder comments",
          "type": "string",
          "format": "alphanumeric",
          "title": "chComments",
          "maxLength": 250
        },
        "chProvidedTransDt": {
          "description": "Cardholder provided transaction date, Should be YYYYMMDD format",
          "type": "string",
          "format": "Date",
          "title": "chProvidedTransDt"
        },
        "chProvidedTransAmnt": {
          "description": "Cardholder provided transactional amount .",
          "type": "string",
          "format": "Double",
          "title": "chProvidedTransAmnt",
          "maxLength": 19
        }
      },
      "required": [
        "chProvidedTransDt",
        "chProvidedTransAmnt"
      ]
    },
    "NeverReceived": {
      "title": "NeverReceived",
      "properties": {
        "whatNotReceived": {
          "description": "Details of merchandise or service.",
          "type": "string",
          "format": "string",
          "title": "whatNotReceived",
          "maxLength": 250
        },
        "purchaseAmnt": {
          "description": "Amount of Purchase",
          "type": "string",
          "format": "Double",
          "title": "purchaseAmnt",
          "maxLength": 19
        },
        "expectedDt": {
          "description": "Expected date of the Merchandise. ",
          "type": "string",
          "format": "Date",
          "title": "expectedDt"
        },
        "deliveredAddress": {
          "description": "Delivery Address",
          "type": "string",
          "format": "string",
          "title": "deliveredAddress"
        },
        "contactNm": {
          "description": "Name/Number of the person contacted.",
          "type": "string",
          "format": "string",
          "title": "contactNm"
        },
        "contactMethod": {
          "description": "Contact Method like phone etc.",
          "type": "string",
          "format": "string",
          "title": "contactMethod"
        },
        "contactDt": {
          "description": "Date Contacted",
          "type": "string",
          "format": "Date",
          "title": "contactDt"
        },
        "merchantResponse": {
          "description": "Merchant response.",
          "type": "string",
          "format": "string",
          "title": "merchantResponse"
        },
        "merchandiseOrService": {
          "description": "What was not received? Merchandise or Service? ",
          "type": "string",
          "format": "string",
          "title": "merchandiseOrService"
        },
        "didMerchantCancel": {
          "description": "Did merchant cancel services? / Did merchant cancel the merchandise? True/False",
          "type": "string",
          "format": "string",
          "title": "didMerchantCancel"
        },
        "merchantCancelledDt": {
          "description": "Date merchant cancelled merchandise/services.Mandatory if 'didMerchantCancel' is True",
          "type": "string",
          "format": "string",
          "title": "merchantCancelledDt"
        },
        "isMerchantBankrupt": {
          "description": "Is merchant in bankruptcy/liquidation? True/False",
          "type": "string",
          "format": "string",
          "title": "isMerchantBankrupt"
        }
      },
      "required": [
        "whatNotReceived",
        "purchaseAmnt",
        "expectedDt",
        "deliveredAddress",
        "contactDt",
        "merchandiseOrService",
        "didMerchantCancel",
        "isMerchantBankrupt"
      ]
    },
    "NotAsDescribed": {
      "properties": {
        "chExplanation": {
          "description": "CH provided explanation of what merchandise or service was received and what was expected.",
          "type": "string",
          "format": "string",
          "title": "chExplanation",
          "maxLength": 250
        },
        "transactionHappenedAt": {
          "description": "Where the transaction took place",
          "type": "string",
          "format": "string",
          "title": "transactionHappenedAt"
        },
        "merchandiseReceivedDt": {
          "description": "Merchandise received or expected to receive date.",
          "type": "string",
          "format": "Date",
          "title": "merchandiseReceivedDt"
        },
        "merchandiseCancelledDt": {
          "description": "Merchandise returned or cancelled  date.",
          "type": "string",
          "format": "Date",
          "title": "merchandiseCancelledDt"
        },
        "contactedMerchantDt": {
          "description": "Merchant contact date.",
          "type": "string",
          "format": "Date",
          "title": "contactedMerchantDt"
        },
        "merchantResponse": {
          "description": "Merchant response detail.",
          "type": "string",
          "format": "string",
          "title": "merchantResponse",
          "maxLength": 250
        },
        "isMerchantRefused": {
          "description": "Merchant Accepted or refuse to accept (true/false).",
          "type": "string",
          "format": "string",
          "title": "isMerchantRefused"
        },
        "merchantAdvise": {
          "description": "What did the merchant refuse or advise.",
          "type": "string",
          "format": "string",
          "title": "merchantAdvise"
        },
        "invoiceNumber": {
          "description": "Invoice or Tracking number for return.",
          "type": "string",
          "format": "string",
          "title": "invoiceNumber",
          "maxLength": 64
        },
        "packageSignedBy": {
          "description": "Who signed the package.",
          "type": "string",
          "format": "string",
          "title": "packageSignedBy",
          "maxLength": 64
        },
        "deliveryAddress": {
          "description": "Delivery Address",
          "type": "string",
          "format": "string",
          "title": "deliveryAddress",
          "maxLength": 250
        },
        "whatPurchased": {
          "description": "What was purchased? Merchandise or Service?",
          "type": "string",
          "format": "string",
          "title": "whatPurchased"
        },
        "merchantReturnReceivedDt": {
          "description": "Date merchant received returned merchandise",
          "type": "string",
          "format": "Date",
          "title": "merchantReturnReceivedDt"
        },
        "merchantAcceptedCancellation": {
          "description": "Did the merchant accept the cancellation?If What was purchased = Service: True/False",
          "type": "string",
          "format": "string",
          "title": "merchantAcceptedCancellation"
        },
        "returnMethod": {
          "description": "Return Method Applicable if invoice number is present. choose any one of below allowed return methods: <ol><li>'FF=Face to Face'</li><li>'FE=Fed Ex'</li><li>'D=DHL'</li><li>'U=UPS'</li><li>'P=Postal Service'</li><li>'O=Other'</li></ol>",
          "type": "string",
          "format": "string",
          "title": "returnMethod"
        },
        "otherComments": {
          "description": "Other Comments",
          "type": "string",
          "format": "string",
          "title": "otherComments",
          "maxLength": 250
        }
      },
      "required": [
        "chExplanation",
        "transactionHappenedAt",
        "merchandiseReceivedDt",
        "merchandiseCancelledDt",
        "contactedMerchantDt",
        "isMerchantRefused",
        "invoiceNumber",
        "whatPurchased",
        "merchantReturnReceivedDt"
      ]
    },
    "PaidByOtherMeans": {
      "title": "PaidByOtherMeans",
      "properties": {
        "contactedMerchantDt": {
          "description": "Cardholder contact date with the Merchant. Format YYYYMMDD",
          "type": "string",
          "format": "Date",
          "title": "contactedMerchantDt"
        },
        "meansOfPayment": {
          "description": "Providing proof of payment by other means,values- A, T, C, F,V,S,O",
          "type": "string",
          "format": "string",
          "title": "meansOfPayment"
        },
        "merchantResponse": {
          "description": "Merchant response text to the card holder.",
          "type": "string",
          "format": "string",
          "title": "merchantResponse",
          "maxLength": 250
        }
      },
      "required": [
        "contactedMerchantDt",
        "meansOfPayment",
        "merchantResponse"
      ]
    },
    "ReasonCodeDetails": {
      "description": "Pass the reason code details based on the reason code selected.",
      "oneOf": [
        {
          "$ref": "#/$defs/DuplicateProcessing"
        },
        {
          "$ref": "#/$defs/AlteredAmount"
        },
        {
          "$ref": "#/$defs/IncorrectTransactionCurrency"
        },
        {
          "$ref": "#/$defs/MultipleProcessing"
        },
        {
          "$ref": "#/$defs/CreditAppliedAsCharge"
        },
        {
          "$ref": "#/$defs/HotelCancellation"
        },
        {
          "$ref": "#/$defs/MerchandiseReturned"
        },
        {
          "$ref": "#/$defs/CreditNotReceived"
        },
        {
          "$ref": "#/$defs/AirlineTicketCancellation"
        },
        {
          "$ref": "#/$defs/CancelledRecurringTransaction"
        },
        {
          "$ref": "#/$defs/NeverReceived"
        },
        {
          "$ref": "#/$defs/NotAsDescribed"
        },
        {
          "$ref": "#/$defs/ATMDiscrepancy"
        },
        {
          "$ref": "#/$defs/PaidByOtherMeans"
        },
        {
          "$ref": "#/$defs/FraudulentTransaction"
        }
      ]
    },
    "TransactionDetails": {
      "properties": {
        "requestId": {
          "description": "Unique Request ID. UUID generated by a client for each individual transaction",
          "type": "string",
          "format": "alphanumeric",
          "title": "requestId",
          "maxLength": 36,
          "minLength": 36
        },
        "acquirerReferenceNumber": {
          "description": "The Acquirer Reference Number of the transaction against which the dispute case creation request is being raised",
          "type": "string",
          "format": "numeric",
          "title": "acquirerReferenceNumber",
          "maxLength": 24,
          "minLength": 23
        },
        "disputeAmount": {
          "description": "Dispute Amount",
          "type": "number",
          "format": "Double",
          "title": "disputeAmount",
          "maxLength": 19
        },
        "disputeCurrency": {
          "description": "Disputed amount currency. ISO-3 Currency Code only. E.g. USD, INR, IDR, SGD",
          "type": "string",
          "format": "string",
          "title": "disputeCurrency",
          "minLength": 3,
          "maxLength": 3
        }
      },
      "required": [
        "requestId",
        "acquirerReferenceNumber",
        "disputeAmount",
        "disputeCurrency"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/citi-case-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.