Citi · Schema

InitialAcknowledgementResponse

BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway

Properties

Name Type Description
message_id string Message Identification
creation_date_time string UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) - Date time when a message was created
message_type string Message Type as provided by the customer - RFR - Request for Refund (camt.056) - RRFR - Response to Request for Refund(camt.029) - PCR - Payment Confirmation Request - RPCR - Response to Payment Confi
message object
View JSON Schema on GitHub

JSON Schema

citi-initial-acknowledgement-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-initial-acknowledgement-response-schema.json",
  "title": "InitialAcknowledgementResponse",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/citi-non-payment-messages-api-openapi.yml#/components/schemas/Initial-Acknowledgement-Response",
  "type": "object",
  "properties": {
    "message_id": {
      "type": "string",
      "description": "Message Identification",
      "readOnly": true,
      "maxLength": 35,
      "title": "message_id"
    },
    "creation_date_time": {
      "type": "string",
      "format": "date-time",
      "description": "UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Date time when a message was created",
      "readOnly": true,
      "title": "creation_date_time"
    },
    "message_type": {
      "type": "string",
      "description": "Message Type as provided by the customer \n- RFR - Request for Refund (camt.056) \n- RRFR - Response to Request for Refund(camt.029) \n- PCR - Payment Confirmation Request \n- RPCR - Response to Payment Confirmation Request \n- RFP - Request for Payment (pain.013) \n- RRFP - Response to Request for Payment (pain.014) \n- RRFICS - Response to Request for Information Compliance",
      "enum": [
        "RFR",
        "RRFR",
        "PCR",
        "RPCR",
        "RFP",
        "RRFP",
        "RRFICS"
      ],
      "title": "message_type"
    },
    "message": {
      "oneOf": [
        {
          "$ref": "#/$defs/Initial-Response-To-Request-For-Refund"
        },
        {
          "$ref": "#/$defs/Initial-Response-To-Payment-Confirmation-Request"
        },
        {
          "$ref": "#/$defs/Initial-Response-To-Request-For-Payment"
        },
        {
          "$ref": "#/$defs/Initial-Outgoing-Request-For-Refund"
        },
        {
          "$ref": "#/$defs/Initial-Response-To-Request-for-Information-Compliance"
        }
      ]
    }
  },
  "required": [
    "message_id",
    "creation_date_time",
    "message_type"
  ],
  "$defs": {
    "Address": {
      "type": "string",
      "maxLength": 70,
      "minLength": 1,
      "maxItems": 7,
      "description": "Address",
      "title": "Address"
    },
    "Debtor-Payment": {
      "type": "object",
      "title": "DebtorPayment",
      "writeOnly": true,
      "properties": {
        "name": {
          "minLength": 1,
          "maxLength": 140,
          "type": "string",
          "description": "Name of Debtor that may be passed for payment initiation",
          "title": "name"
        },
        "street_name": {
          "minLength": 1,
          "maxLength": 70,
          "type": "string",
          "description": "Street Name of Debtor that may be passed for payment initiation",
          "title": "street_name"
        },
        "building_number": {
          "minLength": 1,
          "maxLength": 16,
          "type": "string",
          "description": "Building number of Debtor that may be passed for payment initiation",
          "title": "building_number"
        },
        "postal_code": {
          "minLength": 1,
          "maxLength": 16,
          "type": "string",
          "description": "Postal code of Debtor that may be passed for payment initiation",
          "title": "postal_code"
        },
        "city": {
          "minLength": 1,
          "maxLength": 35,
          "type": "string",
          "description": "City of Debtor that may be passed for payment initiation",
          "title": "city"
        },
        "state": {
          "minLength": 1,
          "maxLength": 35,
          "type": "string",
          "description": "State of Debtor that may be passed for payment initiation",
          "title": "state"
        },
        "country": {
          "type": "string",
          "description": "Country of Debtor that may be passed for payment initiation",
          "pattern": "^[A-Z]{2,2}$",
          "title": "country"
        },
        "address_lines": {
          "type": "array",
          "minItems": 1,
          "maxItems": 7,
          "description": "Debtor Address lines which is array of 7 lines and each line has maximum 70 characters which may be passed for payment initiation",
          "items": {
            "$ref": "#/$defs/Address"
          },
          "title": "address_lines"
        }
      }
    },
    "Initial-Outgoing-Request-For-Refund": {
      "type": "object",
      "title": "InitialOutgoingRequestForRefund",
      "properties": {
        "reasons": {
          "type": "object",
          "title": "reasons",
          "properties": {
            "code": {
              "type": "string",
              "description": "Code of Transaction reasons \n- AC03 InvalidCreditorAccountNumber \n- AM09 WrongAmount \n- CUST Requested by Customer \n- DUPL DuplicatePayment \n- FRAD FraudulentOrigin \n- FRTR FinalResponse \n- TECH TechnicalProblem \n- UPAY UnduePayment \n- UAPA Customer claims Credit Transfer is fraudulently induced",
              "enum": [
                "AC03",
                "AM09",
                "CUST",
                "DUPL",
                "FRAD",
                "FRTR",
                "TECH",
                "UPAY",
                "AC02",
                "UAPA",
                "AGNT",
                "BE16",
                "COVR",
                "CURR",
                "CUTA",
                "DT01",
                "FRNA",
                "INDM",
                "MODT",
                "PAID",
                "SVNR",
                "SYAD",
                "ENUE",
                "NARR",
                "INCR",
                "BIAS",
                "DRTP",
                "WNTB",
                "MD06"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Description of Transaction reasons. \n- For RFP warranty claim, the following codes/ warranty component may be used.The client may populate the code and warranty component, OR code, comma, free form text \n - N: No Legitimate Purpose \n- F: Part of Fraudulent Scheme to Induce Payment \n- H: Harassing \n- U: Otherwise Unlawful",
              "minLength": 1,
              "maxLength": 105,
              "title": "description"
            }
          },
          "required": [
            "code"
          ]
        },
        "country": {
          "description": "ISO 3166 Alpha-2 code for the non pay message country. \n- This field is optional for US \n- This field is mandatory for SEPA",
          "type": "string",
          "default": "US",
          "enum": [
            "US",
            "IE",
            "DE",
            "AT",
            "BE",
            "FI",
            "FR",
            "GR",
            "IT",
            "LU",
            "NL",
            "PT",
            "ES",
            "SK",
            "GB",
            "AU",
            "IN",
            "AR",
            "BR",
            "BG",
            "HK"
          ],
          "title": "country"
        },
        "status": {
          "type": "object",
          "title": "status",
          "readOnly": true,
          "properties": {
            "date_time": {
              "type": "string",
              "format": "date-time",
              "description": "UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Status change date time",
              "title": "date_time"
            },
            "code": {
              "type": "string",
              "description": "ISO 20022 message status code",
              "enum": [
                "PDNG"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Status code description \n- PDNG - Pending",
              "minLength": 1,
              "maxLength": 256,
              "title": "description"
            }
          },
          "required": [
            "date_time",
            "code",
            "description"
          ]
        }
      }
    },
    "Initial-Response-To-Payment-Confirmation-Request": {
      "type": "object",
      "title": "InitialResponseToPaymentConfirmationRequest",
      "properties": {
        "uetr": {
          "type": "string",
          "description": "UETR of Original payment",
          "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$",
          "title": "uetr"
        },
        "status": {
          "type": "object",
          "title": "status",
          "readOnly": true,
          "properties": {
            "date_time": {
              "type": "string",
              "format": "date-time",
              "description": "UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Status change date time",
              "title": "date_time"
            },
            "code": {
              "type": "string",
              "description": "ISO 20022 message status code",
              "enum": [
                "PDNG"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Status code description \n- PDNG - Pending",
              "minLength": 1,
              "maxLength": 256,
              "title": "description"
            }
          },
          "required": [
            "date_time",
            "code",
            "description"
          ]
        }
      }
    },
    "Initial-Response-To-Request-For-Payment": {
      "type": "object",
      "title": "InitialResponseToRequestForPayment",
      "properties": {
        "uetr": {
          "type": "string",
          "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$",
          "description": "UUID v4 format unique reference generated in outgoing payment",
          "title": "uetr"
        },
        "decision_code": {
          "type": "string",
          "description": "Acceptance or Rejection of request for payment \n- ACTC - Acceptance to make requested payment \n- RJCT - Decline to pay requested amount",
          "enum": [
            "ACTC",
            "RJCT"
          ],
          "title": "decision_code"
        },
        "end_to_end_id": {
          "maxLength": 35,
          "minLength": 1,
          "pattern": "^(?!\\s*$).+",
          "type": "string",
          "description": "Unique End to End ID of Response to Request for Payment",
          "title": "end_to_end_id"
        },
        "accepted_amount": {
          "type": "number",
          "minimum": 0.01,
          "maximum": 1000000000000000,
          "description": "Amount to be paid from Request for Payment.Indicates if Instructed amount in Payment request will be paid, or different amount.If Different amount not allowed by Payment Request, this field must carry Instructed amount \n- Mandatory if message.decision_code = ACTC",
          "title": "accepted_amount"
        },
        "accepted_currency": {
          "type": "string",
          "description": "ISO 4217 code for the accepted currency \n- Mandatory if message.decision_code = ACTC",
          "enum": [
            "USD"
          ],
          "title": "accepted_currency"
        },
        "scheduled_exec_date": {
          "type": "string",
          "format": "date",
          "description": "Date payment is expected to be made.Format is YYYY-MM-DD \n- Mandatory if message.decision_code = ACTC",
          "title": "scheduled_exec_date"
        },
        "reasons": {
          "type": "object",
          "title": "reasons",
          "properties": {
            "code": {
              "type": "string",
              "description": "Code of Transaction reasons \n - Mandatory if message.decision_code = RJCT",
              "enum": [
                "AC06",
                "AG01",
                "AG03",
                "AM09",
                "AM14",
                "BE04",
                "BE07",
                "CH11",
                "CUST",
                "DS04",
                "MD07",
                "NARR",
                "SL12"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Description of Transaction reasons \n-  Mandatory if message.reasons.code = NARR",
              "minLength": 1,
              "maxLength": 105,
              "title": "description"
            }
          }
        },
        "debtor": {
          "$ref": "#/$defs/Debtor-Payment"
        },
        "ultimate_debtor": {
          "$ref": "#/$defs/Ultimate-Debtor-Payment"
        },
        "status": {
          "type": "object",
          "title": "status",
          "readOnly": true,
          "properties": {
            "date_time": {
              "type": "string",
              "format": "date-time",
              "description": "UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Status change date time",
              "title": "date_time"
            },
            "code": {
              "type": "string",
              "description": "ISO 20022 message status code",
              "enum": [
                "PDNG"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Status code description \n- PDNG - Pending",
              "minLength": 1,
              "maxLength": 256,
              "title": "description"
            }
          },
          "required": [
            "date_time",
            "code",
            "description"
          ]
        }
      },
      "required": [
        "decision_code",
        "end_to_end_id",
        "payment_information_id"
      ]
    },
    "Initial-Response-To-Request-For-Refund": {
      "type": "object",
      "title": "InitialResponseToRequestForRefund",
      "properties": {
        "case_id": {
          "type": "string",
          "description": "Case Id received from clearing",
          "minLength": 1,
          "maxLength": 35,
          "title": "case_id"
        },
        "decision_code": {
          "type": "string",
          "description": "Acceptance or Rejection of return of funds. Only the below 3 codes are applicable  \n- IPAY - Acceptance to Return the payment \n- RJCR - Decline to Return the payment \n- PECR - Partially Executed Cancellation Return",
          "enum": [
            "ACDA",
            "ACNR",
            "ACVA",
            "CHRG",
            "CNCL",
            "CONF",
            "CVAA",
            "CWFW",
            "FTNA",
            "ICOV",
            "IDUP",
            "IPAY",
            "IPYI",
            "MCOV",
            "MODI",
            "MWFW",
            "PDCR",
            "PECR",
            "PURP",
            "RJCR",
            "RJNR",
            "RJVA",
            "SMTC",
            "SMTI",
            "UWFW",
            "BIAS",
            "IDNE",
            "IVCR",
            "INFO",
            "NINF",
            "PDNG"
          ],
          "title": "decision_code"
        },
        "reasons": {
          "type": "object",
          "title": "reasons",
          "properties": {
            "code": {
              "type": "string",
              "description": "Code of Transaction reasons \n- If decision_code = RJCR,reasons.code is mandatory for ResponseToRequest-For-Refund ",
              "enum": [
                "AC04",
                "ADAC",
                "AGNT",
                "AM04",
                "ARDT",
                "ARPL",
                "CUST",
                "LEGL",
                "NARR",
                "NOAS",
                "NOOR",
                "PTNA",
                "RQDA",
                "WSEQ",
                "IDMN",
                "ACLR",
                "AEXR",
                "ARFR",
                "ARJR",
                "PATE",
                "RR04",
                "RCAR",
                "RCNR",
                "RCPR",
                "URTP"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Reason code description (e.g., Debtor account is invalid.). \n- For reasons.code = NARR this field is mandatory",
              "minLength": 1,
              "maxLength": 105,
              "title": "description"
            }
          }
        },
        "instructed_amount": {
          "type": "number",
          "description": "Instructed amount for partial acceptance of return request \n- Mandatory for ResponseToRequest-For-Refund with decision code as PECR.",
          "minimum": 0.01,
          "maximum": 1000000000000000,
          "title": "instructed_amount"
        },
        "instructed_currency": {
          "type": "string",
          "description": "Instructed currency for partial acceptance of return request \n- Mandatory for ResponseToRequest-For-Refund with decision code as PECR",
          "enum": [
            "USD",
            "EUR",
            "AUD",
            "ARS",
            "BRL",
            "HKD",
            "CNY"
          ],
          "title": "instructed_currency"
        },
        "instruction_id": {
          "type": "string",
          "description": "Unique Instruction id on return payment initiation",
          "minLength": 1,
          "maxLength": 35,
          "title": "instruction_id"
        },
        "end_to_end_id": {
          "type": "string",
          "description": "Unique end to end id on return payment initiation",
          "minLength": 1,
          "maxLength": 35,
          "title": "end_to_end_id"
        },
        "country": {
          "description": "ISO 3166 Alpha-2 code for the non pay message country. \n- This field is optional for US \n- This field is mandatory for SEPA",
          "type": "string",
          "default": "US",
          "enum": [
            "US",
            "IE",
            "DE",
            "AT",
            "BE",
            "FI",
            "FR",
            "GR",
            "IT",
            "LU",
            "NL",
            "PT",
            "ES",
            "SK",
            "BG"
          ],
          "title": "country"
        },
        "status": {
          "type": "object",
          "title": "status",
          "readOnly": true,
          "properties": {
            "date_time": {
              "type": "string",
              "format": "date-time",
              "description": "UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Status change date time",
              "title": "date_time"
            },
            "code": {
              "type": "string",
              "description": "ISO 20022 message status code",
              "enum": [
                "PDNG"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Status code description \n- PDNG - Pending",
              "minLength": 1,
              "maxLength": 256,
              "title": "description"
            }
          },
          "required": [
            "date_time",
            "code",
            "description"
          ]
        }
      },
      "required": [
        "case_id",
        "decision_code",
        "end_to_end_id"
      ]
    },
    "Initial-Response-To-Request-for-Information-Compliance": {
      "type": "object",
      "title": "Initial-Response-To-Request-for-Information-Compliance",
      "properties": {
        "uetr": {
          "type": "string",
          "description": "UETR of Original payment",
          "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$",
          "title": "uetr"
        },
        "status": {
          "type": "object",
          "title": "status",
          "readOnly": true,
          "properties": {
            "date_time": {
              "type": "string",
              "format": "date-time",
              "description": "UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Status change date time",
              "title": "date_time"
            },
            "code": {
              "type": "string",
              "description": "ISO 20022 message status code",
              "enum": [
                "PDNG"
              ],
              "title": "code"
            },
            "description": {
              "type": "string",
              "description": "Status code description \n- PDNG - Pending",
              "minLength": 1,
              "maxLength": 256,
              "title": "description"
            }
          },
          "required": [
            "date_time",
            "code",
            "description"
          ]
        }
      }
    },
    "Ultimate-Debtor-Payment": {
      "type": "object",
      "title": "UltimateDebtorPayment",
      "writeOnly": true,
      "properties": {
        "name": {
          "minLength": 1,
          "maxLength": 140,
          "type": "string",
          "description": "Name of Ultimate Debtor that may be passed for payment initiation",
          "title": "name"
        },
        "street_name": {
          "minLength": 1,
          "maxLength": 70,
          "type": "string",
          "description": "Street Name of Ultimate Debtor that may be passed for payment initiation",
          "title": "street_name"
        },
        "building_number": {
          "minLength": 1,
          "maxLength": 16,
          "type": "string",
          "description": "Building number of Ultimate Debtor that may be passed for payment initiation",
          "title": "building_number"
        },
        "postal_code": {
          "minLength": 1,
          "maxLength": 16,
          "type": "string",
          "description": "Postal code of Ultimate Debtor that may be passed for payment initiation",
          "title": "postal_code"
        },
        "city": {
          "minLength": 1,
          "maxLength": 35,
          "type": "string",
          "description": "City of Ultimate Debtor that may be passed for payment initiation",
          "title": "city"
        },
        "state": {
          "minLength": 1,
          "maxLength": 35,
          "type": "string",
          "description": "State of Ultimate Debtor that may be passed for payment initiation",
          "title": "state"
        },
        "country": {
          "type": "string",
          "description": "Country of Ultimate Debtor that may be passed for payment initiation",
          "pattern": "^[A-Z]{2,2}$",
          "title": "country"
        },
        "address_lines": {
          "type": "array",
          "minItems": 1,
          "maxItems": 7,
          "description": "Ultimate Debtor Address lines which is array of 7 lines and each line has maximum 70 characters which may be passed for payment initiation",
          "items": {
            "$ref": "#/$defs/Address"
          },
          "title": "address_lines"
        }
      }
    }
  }
}

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-initial-acknowledgement-response"
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.