{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-final-message-response-schema.json", "title": "FinalMessageResponse", "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/Final-Message-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- RFICS - Request for Information Compliance \n- RRFICS - Response to Request for Information Compliance", "enum": [ "RFR", "RRFR", "PCR", "RPCR", "RFP", "RRFP", "RFICS", "RRFICS" ], "title": "message_type" }, "original_payment": { "type": "object", "title": "OriginalPayment", "readOnly": true, "properties": { "message_id": { "type": "string", "description": "Message Id of original payment", "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 original payment was created", "title": "creation_date_time" }, "instruction_id": { "type": "string", "description": "Instruction ID of Original Payment", "minLength": 1, "maxLength": 35, "title": "instruction_id" }, "end_to_end_id": { "type": "string", "description": "End to End ID of Original Payment", "minLength": 1, "maxLength": 35, "title": "end_to_end_id" }, "transaction_id": { "type": "string", "description": "Transaction ID of Original Payment", "minLength": 1, "maxLength": 35, "title": "transaction_id" }, "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" }, "clearing_reference": { "type": "string", "description": "Clearing reference of Original Payment", "minLength": 1, "maxLength": 35, "title": "clearing_reference" }, "instructed_amount": { "type": "number", "description": "Instructed amount of Original Payment", "minimum": 0.01, "maximum": 1000000000000000, "title": "instructed_amount" }, "instructed_currency": { "type": "string", "description": "Instructed currency of Original Payment", "enum": [ "USD", "EUR", "GBP", "AUD", "INR", "ARS", "BRL", "HUF", "HKD", "CNY" ], "title": "instructed_currency" }, "value_date": { "type": "string", "format": "date", "description": "Date in local time zone (e.g., EST for a United States RTP network transaction) when Citi's transaction processing application starts processing a transaction.Format is YYYY-MM-DD", "title": "value_date" }, "message_name_identification": { "type": "string", "description": "Clearing specific original message name", "minLength": 1, "maxLength": 35, "title": "message_name_identification" }, "requested_execution_date": { "type": "string", "format": "date", "description": "Requested Execution Date of Original Request for Payment", "title": "requested_execution_date" }, "requested_execution_date_time": { "type": "string", "format": "date-time", "description": "Requested Execution Date/ Time of Original Request for Payment", "title": "requested_execution_date_time" }, "expiry_date": { "type": "string", "format": "date", "description": "Expiry Date of Original Request for Payment", "title": "expiry_date" }, "expiry_date_time": { "type": "string", "format": "date-time", "description": "Expiry Date/Time of Original Request for Payment", "title": "expiry_date_time" }, "payment_information_id": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Payment Information ID Original Request for Payment", "title": "payment_information_id" }, "category_purpose": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Category purpose of original payment", "title": "category_purpose" }, "unstructured_remittance_info": { "type": "array", "description": "Unstructured remitance information of original payment", "items": { "$ref": "#/$defs/Unstructured" }, "title": "unstructured_remittance_info" }, "structured_remittance_info": { "type": "object", "title": "structured_remittance_info", "properties": { "creditor_reference_information_code": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Structured Creditor Reference Information Code of original payment", "title": "creditor_reference_information_code" }, "creditor_reference_issuer": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Structured Creditor Reference Issuer \n - For TH Instant payment transaction.structured_remittance_info.creditor_reference_issuer is not applicable \n - For US Instant payment transaction.structured_remittance_info.creditor_reference_issuer field is not applicable \n - For IN IMPS transaction.structured_remittance_info.creditor_reference_issuer is not applicable \n - For UK FPS Instant payment transaction.structured_remittance_info.creditor_reference_issuer is not applicable \n - For JP Instant payment transaction.structured_remittance_info.creditor_reference_issuer is not applicable \n - For IN UPI transaction.structured_remittance_info.creditor_reference_issuer is not applicable \n - For US WIRE,transaction.structured_remittance_info.creditor_reference_issuer field is not applicable \n - For US ACH CCD/PPD/IAT payment,transaction.structured_remittance_info.creditor_reference_issuer field is not applicable \n - For SEPA IDP transaction.structured_remittance_info.creditor_reference_issuer field is optional with max length 35 \n - For Japan Instant payment transaction.structured_remittance_info.creditor_reference_issuer field is not applicable \n - For SEPA, transaction.structured_remittance_info.creditor_reference_issuer field is optional field and allowed maxLength is 35", "title": "creditor_reference_issuer" }, "creditor_reference": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Structured Creditor Reference of original payment", "title": "creditor_reference" } } }, "purpose": { "type": "string", "minLength": 1, "maxLength": 5, "description": "Purpose of a transaction of original payment\n- CASH for cash management \n- CNFL for confidential \n- COST for payment for business expenses \n- GDDS for payment related to purchase or sale of goods \n- GDSV for payment related to purchase or sale of goods and services \n- GP2P for person-to-person payment \n- OTHR for other, if your payment doesn't fit any of the specific purpose codes \n- PAYR for payroll payment \n- RCPT for payment of a receipt \n- SALA for salary payment \n- SCVE for payment related to purchase or sale of services \n- SUPP for supplier payment \n- TREA for treasury payment \n- REFU for refund payment \n- CLPO for Claim Payouts \n- LODI for Loan Disbursals \n- TIPO for Tips Payout \n- GIEO for Gig economy \n- VEPO for Vendor Payouts \n- INPO for Incentive Payouts \n- ISPO for Insurance Payouts \n- MPPO for Merchant/Marketplace Payouts \n- TXPO for Tax Payments \n- RDPO for Rider payout", "title": "purpose" }, "method": { "type": "object", "title": "OriginalMethod", "properties": { "network": { "type": "string", "enum": [ "RTP", "FDN", "AUNPP" ], "description": "Financial market infrastructure or clearing system (e.g., RTP Network in the United States) of original payment", "title": "network" } } }, "debtor": { "$ref": "#/$defs/Original-Debtor" }, "creditor": { "$ref": "#/$defs/Original-Creditor" }, "ultimate_debtor": { "$ref": "#/$defs/Original-Ultimate-Debtor" }, "ultimate_creditor": { "$ref": "#/$defs/Original-Ultimate-Creditor" } } }, "message": { "oneOf": [ { "$ref": "#/$defs/Request-For-Refund" }, { "$ref": "#/$defs/Final-Response-To-Request-For-Refund" }, { "$ref": "#/$defs/Payment-Confirmation-Request" }, { "$ref": "#/$defs/Response-To-Payment-Confirmation-Request" }, { "$ref": "#/$defs/Request-For-Payment" }, { "$ref": "#/$defs/Response-To-Request-For-Payment" }, { "$ref": "#/$defs/Final-Request-For-Information-Compliance" }, { "$ref": "#/$defs/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" } } }, "Debtor-Refund": { "type": "object", "title": "DebtorRefund", "properties": { "name": { "minLength": 1, "maxLength": 140, "type": "string", "description": "Name of Debtor to be passed for Refund payment \n- For United States debtor.name field is mandatory for decision code IPAY and PECR \n- For Thailand debtor.name field is not applicable \n- For Brazil debtor.name field is not applicable \n- For SEPA debtor.name field is not applicable", "title": "name" }, "street_name": { "minLength": 1, "maxLength": 70, "type": "string", "description": "Street Name of Debtor to be passed for Refund payment \n- For United States debtor.street_name field is optional \n- For Thailand debtor.street_name field is not applicable \n- For Brazil debtor.street_name field is not applicable \n- For SEPA debtor.street_name field is not applicable", "title": "street_name" }, "building_number": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Building number of Debtor to be passed for Refund payment \n- For United States debtor.building_number field is optional \n- For Thailand debtor.building_number field is not applicable \n- For Brazil debtor.building_number field is not applicable \n- For SEPA debtor.building_number field is not applicable", "title": "building_number" }, "postal_code": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Postal code of Debtor to be passed for Refund payment \n- For United States debtor.postal_code field is optional \n- For Thailand debtor.postal_code field is not applicable \n- For Brazil debtor.postal_code field is not applicable \n- For SEPA debtor.postal_code field is not applicable", "title": "postal_code" }, "city": { "minLength": 1, "maxLength": 35, "type": "string", "description": "City of Debtor to be passed for Refund payment \n- For United States debtor.city field is optional \n- For Thailand debtor.city field is not applicable \n- For Brazil debtor.city field is not applicable \n- For SEPA debtor.city field is not applicable", "title": "city" }, "state": { "minLength": 1, "maxLength": 35, "type": "string", "description": "State of Debtor to be passed for Refund payment \n- For United States debtor.state field is optional \n- For Thailand debtor.state field is not applicable \n- For Brazil debtor.state field is not applicable \n- For SEPA debtor.state field is not applicable", "title": "state" }, "country": { "type": "string", "description": "Country of Debtor to be passed for Refund payment \n- For United States debtor.country field is optional \n- For Thailand debtor.country field is not applicable \n- For Brazil debtor.country field is not applicable \n- For SEPA debtor.country field is not applicable", "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 is to be passed for Refund payment \n- For United States debtor.address_lines field is optional \n- For Thailand debtor.address_lines field is not applicable \n- For Brazil debtor.address_lines field is not applicable \n- For SEPA debtor.address_lines field is not applicable", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" } } }, "Field-level-Requests-For-RFICS": { "type": "object", "description": "“FieldlevelRequestsForRFICS”", "title": "Field-level-Requests-For-RFICS", "properties": { "field_id": { "type": "string", "description": "Field ID.", "minLength": 1, "maxLength": 16, "title": "field_id" }, "field_name": { "type": "string", "description": "Field name. ", "minLength": 1, "maxLength": 70, "title": "field_name" }, "field_value": { "type": "string", "description": "Field value. ", "minLength": 1, "maxLength": 70, "title": "field_value" }, "input_type": { "type": "string", "description": "The Input type or template to provide the response against the field. It will be one the following - individual / entity / aircraft / vessel / unknown. \n If requested input type is unknown, populate fields from any of the other 4 input types in the response.", "minLength": 1, "maxLength": 16, "title": "input_type" } }, "required": [ "field_id", "field_name", "field_value", "input_type" ] }, "Field-level-Responses-For-RRFICS": { "type": "object", "description": "“FieldlevelResponsesForRRFICS”", "title": "Field-level-Responses-For-RRFICS", "properties": { "field_id": { "type": "string", "description": "Field ID.", "minLength": 1, "maxLength": 16, "title": "field_id" }, "field_name": { "type": "string", "description": "Field name.", "minLength": 1, "maxLength": 70, "title": "field_name" }, "field_value": { "type": "string", "description": "Field value.", "minLength": 1, "maxLength": 70, "title": "field_value" }, "individual": { "type": "object", "description": "Input type selected as Individual. \n When individual is selected any one of the fields displayed under individual object are mandatory", "title": "individual", "properties": { "name": { "type": "string", "description": "Name of individual.\n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 140, "title": "name" }, "street_name": { "type": "string", "description": "Street Name of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 70, "title": "street_name" }, "building_number": { "type": "string", "description": "Building Number of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 16, "title": "building_number" }, "postal_code": { "type": "string", "description": "Postal Code of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 16, "title": "postal_code" }, "city": { "type": "string", "description": "City of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 35, "title": "city" }, "state": { "type": "string", "description": "State of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 35, "title": "state" }, "country": { "type": "string", "description": "Country of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 2, "title": "country" }, "birth_date": { "type": "string", "format": "date", "description": "Birth Date of individual \n Format is YYYY-MM-DD. \n If selected input type = individual, at least 1 field from individual object must be provided.", "title": "birth_date" }, "city_of_birth": { "type": "string", "description": "City Of Birth of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 35, "title": "city_of_birth" }, "country_of_birth": { "type": "string", "description": "Country Of Birth of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 2, "title": "country_of_birth" }, "nationality": { "type": "string", "description": "Nationality of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 35, "title": "nationality" }, "occupation": { "type": "string", "description": "Occupation of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 35, "title": "occupation" }, "country_of_residence": { "type": "string", "description": "Country of Residence of individual. \n If selected input type = individual, at least 1 field from individual object must be provided.", "minLength": 1, "maxLength": 2, "title": "country_of_residence" } } }, "entity": { "type": "object", "description": "Input type selected as Entity. When Entity is selected any one of the fields displayed under entity object are mandatory", "title": "entity", "properties": { "name": { "type": "string", "description": "Name of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 140, "title": "name" }, "street_name": { "type": "string", "description": "Street Name of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 70, "title": "street_name" }, "building_number": { "type": "string", "description": "Building Number of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 16, "title": "building_number" }, "postal_code": { "type": "string", "description": "Postal Code of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 16, "title": "postal_code" }, "city": { "type": "string", "description": "City of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 35, "title": "city" }, "state": { "type": "string", "description": "State of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 35, "title": "state" }, "country": { "type": "string", "description": "Country of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 2, "title": "country" }, "line_of_business": { "type": "string", "description": "Line of business of Entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 35, "title": "line_of_business" }, "ownership_details": { "type": "string", "description": "Ownership Details of entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 560, "title": "ownership_details" }, "global_presence": { "type": "string", "description": "Global Presence of entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 140, "title": "global_presence" }, "website": { "type": "string", "description": "Website of entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 140, "title": "website" }, "registration_number": { "type": "string", "description": "Registration Number of entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 35, "title": "registration_number" }, "country_of_incorporation": { "type": "string", "description": "Country of incorporation of entity. \n If selected input type = entity, at least 1 field from entity object must be provided.", "minLength": 1, "maxLength": 2, "title": "country_of_incorporation" } } }, "vessel": { "type": "object", "description": "Input type selected as vessel. When vessel is selected any one of the fields displayed under vessel object are mandatory", "title": "vessel", "properties": { "name": { "type": "string", "description": "Name of vessel. \n If selected input type = vessel, at least 1 field from vessel object must be provided.", "minLength": 1, "maxLength": 140, "title": "name" }, "flag": { "type": "string", "description": "Flag of vessel. \n If selected input type = vessel, at least 1 field from vessel object must be provided.", "minLength": 1, "maxLength": 35, "title": "flag" }, "ownership_details": { "type": "string", "description": "Ownership Details of vessel. \n If selected input type = vessel, at least 1 field from vessel object must be provided.", "minLength": 1, "maxLength": 560, "title": "ownership_details" }, "imo_number": { "type": "string", "description": "Imo Number of vessel. \n If selected input type = vessel, at least 1 field from vessel object must be provided.", "minLength": 1, "maxLength": 35, "title": "imo_number" }, "gross_registered_tonnage": { "type": "string", "description": "Gross registered tonnage of vessel. \n If selected input type = vessel, at least 1 field from vessel object must be provided.", "minLength": 1, "maxLength": 10, "title": "gross_registered_tonnage" }, "vessel_type": { "type": "string", "description": "Type of vessel. \n If selected input type = vessel, at least 1 field from vessel object must be provided.", "minLength": 1, "maxLength": 35, "title": "vessel_type" } } }, "aircraft": { "type": "object", "description": "Input type selected as aircraft. When aircraft is selected any one of the fields displayed under aircraft object are mandatory", "title": "aircraft", "properties": { "call_sign": { "type": "string", "description": "Call Sign of aircraft. \n If selected input type = aircraft, at least 1 field from aircraft object must be provided.", "minLength": 1, "maxLength": 140, "title": "call_sign" }, "flag": { "type": "string", "description": "Flag of aircraft. \n If selected input type = aircraft, at least 1 field from aircraft object must be provided.", "minLength": 1, "maxLength": 35, "title": "flag" }, "ownership_details": { "type": "string", "description": "Ownership Details of aircraft. \n If selected input type = aircraft, at least 1 field from aircraft object must be provided.", "minLength": 1, "maxLength": 560, "title": "ownership_details" }, "msn_number": { "type": "string", "description": "Msn Number of aircraft. \n If selected input type = aircraft, at least 1 field from aircraft object must be provided.", "minLength": 1, "maxLength": 35, "title": "msn_number" }, "model": { "type": "string", "description": "Model of aircraft. \n If selected input type = aircraft, at least 1 field from aircraft object must be provided.", "minLength": 1, "maxLength": 35, "title": "model" }, "operator": { "type": "string", "description": "Operator of aircraft. \n If selected input type = aircraft, at least 1 field from aircraft object must be provided.", "minLength": 1, "maxLength": 35, "title": "operator" } } } } }, "Final-Request-For-Information-Compliance": { "title": "Final-Request-For-Information-Compliance", "type": "object", "description": "Request For Information Compliance", "properties": { "transaction": { "type": "object", "title": "transaction", "properties": { "end_to_end_id": { "type": "string", "description": "End to End ID of Original Payment for which RFI is requested", "minLength": 1, "maxLength": 35, "title": "end_to_end_id" }, "uetr": { "type": "string", "description": "UETR of Original payment for which RFI is requested ", "minLength": 1, "maxLength": 36, "title": "uetr" }, "status": { "type": "object", "title": "status", "properties": { "date_time": { "type": "string", "format": "date-time", "description": "Status Date Time \n- 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. \n- PDNG - Pending ", "title": "code", "enum": [ "PDNG" ] }, "description": { "type": "string", "description": "Status code description. \n- PDNG - Pending ", "minLength": 1, "maxLength": 256, "title": "description" } }, "required": [ "date_time" ] }, "reasons": { "type": "object", "title": "reasons", "properties": { "code": { "type": "string", "description": "Reason code corresponding to the transaction status. \n- RECI - ReceiverCustomerInformation.", "title": "code", "enum": [ "RECI" ] }, "description": { "type": "string", "description": "Reason code description. \n - Transaction is in compliance review request for further information", "minLength": 1, "maxLength": 256, "title": "description" } } } }, "required": [ "uetr", "end_to_end_id" ] }, "rfics": { "type": "object", "description": "Request for Information Compliance", "title": "rfics", "properties": { "alert_id": { "type": "string", "description": "RFI Alert ID ", "minLength": 1, "maxLength": 16, "title": "alert_id" }, "request_id": { "type": "string", "description": "RFI Request ID ", "minLength": 1, "maxLength": 16, "title": "request_id" }, "request_date_time": { "type": "string", "format": "date-time", "description": "RFI Request Date Time. \n - Date when RFI request is initiated. ", "title": "request_date_time" }, "purpose_of_transaction_required": { "type": "string", "description": "Purpose Of Transaction ", "title": "purpose_of_transaction_required", "enum": [ "Y", "N" ] }, "additional_details_requested": { "type": "string", "description": "Additional Details ", "minLength": 1, "maxLength": 4000, "title": "additional_details_requested" }, "fieldlevel_requests": { "type": "array", "items": { "$ref": "#/$defs/Field-level-Requests-For-RFICS" }, "description": " Field level requests for which response is requested", "maxItems": 30, "title": "fieldlevel_requests" } }, "required": [ "alert_id", "request_id", "request_date_time", "purpose_of_transaction_required" ] } } }, "Final-Response-To-Request-For-Refund": { "type": "object", "title": "FinalResponseToRequestForRefund", "description": "Outgoing/Incoming Response to Request for Refund", "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" } } }, "method": { "type": "string", "description": "Method type \n- MPNS - for ACH payment \n- RTGS - for FedWire \n- RTNS - for CHIPS \n- RT1 - for SEPA IP payments", "readOnly": true, "enum": [ "MPNS", "RTGS", "RTNS", "RT1" ], "title": "method" }, "interbank_settlement_date": { "type": "string", "description": "YYYY-MM-DD Intended interbank settlement date", "format": "date", "readOnly": true, "title": "interbank_settlement_date" }, "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": { "writeOnly": true, "type": "string", "description": "Unique Instruction id on return payment initiation", "minLength": 1, "maxLength": 35, "title": "instruction_id" }, "end_to_end_id": { "writeOnly": true, "type": "string", "description": "Unique end to end id on return payment initiation", "minLength": 1, "maxLength": 35, "title": "end_to_end_id" }, "country": { "writeOnly": true, "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", "AU", "AR", "BR", "HK", "BG" ], "title": "country" }, "network": { "type": "string", "readOnly": true, "enum": [ "RTP", "FDN" ], "description": "Financial market infrastructure or clearing system (e.g., RTP Network in the United States) \n- RTP for TCH \n- FDN for FedNow", "title": "network" }, "debtor": { "$ref": "#/$defs/Debtor-Refund" }, "ultimate_debtor": { "$ref": "#/$defs/Ultimate-Debtor-Refund" }, "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- Date time, \n-, status change date time", "title": "date_time" }, "code": { "type": "string", "description": "ISO 20022 message status code", "enum": [ "RCVD", "RJCT", "PDNG" ], "title": "code" }, "description": { "type": "string", "description": "Status code description \n- RJCT - Rejected \n- RCVD - Received \n - PDNG - Pending", "minLength": 1, "maxLength": 256, "title": "description" }, "reasons": { "type": "object", "title": "reasons", "readOnly": true, "properties": { "code": { "type": "string", "description": "Reason code (applicable when message is rejected)", "maxLength": 4, "title": "code" }, "description": { "type": "string", "description": "Reason code description (e.g., Debtor account is invalid.)", "minLength": 1, "maxLength": 256, "title": "description" } } } }, "required": [ "date_time", "code", "description" ] }, "return_id": { "type": "string", "readOnly": true, "description": "If other FI wants to return funds outside of RTP, the unique identifier of the transaction used to return the funds must be included in this field \n - If via ACH, Trace Number must be populated \n - If via FedWire -- IMAD must be populated \n- If via CHIPS -- System Sequence Number (SSN) must be populated", "minLength": 1, "maxLength": 35, "title": "return_id" } }, "required": [ "case_id", "decision_code", "end_to_end_id" ] }, "Message-Creditor-Request-For-Payment": { "type": "object", "title": "MessageCreditorRequestForPayment", "properties": { "account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Creditor Account ID", "title": "account" }, "account_name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Creditor Account Name", "title": "account_name" }, "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Creditor Name", "title": "name" }, "bank_id": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Beneficiary Bank Clearing Id", "title": "bank_id" }, "address_lines": { "type": "array", "description": "Creditor's address_lines", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Creditor's street_name ", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Creditor's building_number", "title": "building_number" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Creditor's postal_code", "title": "postal_code" }, "city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's city", "title": "city" }, "state": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's state", "title": "state" }, "country": { "type": "string", "description": "Creditor's country", "pattern": "^[A-Z]{2,2}$", "title": "country" }, "org_id": { "maxLength": 20, "minLength": 1, "type": "string", "description": "Creditor's org_id", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD), Creditor's birth_date", "title": "birth_date" }, "birth_city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's birth_city ", "title": "birth_city" }, "birth_country": { "type": "string", "description": "Creditor's birth_country", "pattern": "^[A-Z]{2,2}$", "title": "birth_country" }, "phone_number": { "type": "string", "maxLength": 35, "description": "Creditor's phone number", "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", "title": "phone_number" } }, "required": [ "account", "name", "bank_id" ] }, "Message-Creditor-Status": { "type": "object", "title": "MessageCreditorStatus", "properties": { "proxy_id": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Creditor's proxy identification (e.g., email address) \n - For US creditor.proxy_id field is not applicable", "title": "proxy_id" }, "proxy_type": { "type": "string", "enum": [ "BIID", "EMAL", "EWAL", "MBNO", "NIDN" ], "description": "Creditor's proxy type (BIID for bill identification, EMAL for email address, EWAL for electronic wallet identification, MBNO for mobile number and NIDN for national identification) \n - For US creditor.proxy_type field is not applicable", "title": "proxy_type" }, "tax_id": { "maxLength": 128, "minLength": 1, "type": "string", "description": "Creditor's tax identification \n - For US creditor.tax_id field is not applicable", "title": "tax_id" }, "account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Creditor's bank account", "title": "account" }, "account_name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Creditor Account name, different from the Creditor Name", "title": "account_name" }, "virtual_account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Creditor's virtual account (also kown as PAYER ID) \n - For US creditor.virtual_account field is not applicable", "title": "virtual_account" }, "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Creditor's name", "title": "name" }, "address_lines": { "type": "array", "description": "Creditor's address_lines", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Creditor's street_name ", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Creditor's building_number", "title": "building_number" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Creditor's postal_code", "title": "postal_code" }, "city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's city", "title": "city" }, "state": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's state", "title": "state" }, "country": { "type": "string", "description": "Creditor's country", "pattern": "^[A-Z]{2,2}$", "title": "country" }, "org_id": { "maxLength": 20, "minLength": 1, "type": "string", "description": "Creditor's org_id", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD), Creditor's birth_date", "title": "birth_date" }, "birth_city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's birth_city ", "title": "birth_city" }, "birth_country": { "type": "string", "description": "Creditor's birth_country", "pattern": "^[A-Z]{2,2}$", "title": "birth_country" }, "bank_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor Bank ID", "title": "bank_id" }, "bank_branch_id": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Creditor Bank Branch ID ", "title": "bank_branch_id" } } }, "Message-Debtor-Request-For-Payment": { "type": "object", "title": "MessageDebtorRequestForPayment", "properties": { "account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Debtor Account ID", "title": "account" }, "account_name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Debit Account name, different from the Debtor Name", "title": "account_name" }, "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Debtor Name", "title": "name" }, "bank_id": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Instructing Agent member Identification ID of a clearing system", "title": "bank_id" }, "address_lines": { "type": "array", "description": "Debtor's address_lines", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Debtor's street_name ", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Debtor's building_number", "title": "building_number" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Debtor's postal_code", "title": "postal_code" }, "city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Debtor's City", "title": "city" }, "state": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Debtor's State", "title": "state" }, "country": { "type": "string", "description": "Debtor's Country", "pattern": "^[A-Z]{2,2}$", "title": "country" }, "org_id": { "maxLength": 20, "minLength": 1, "type": "string", "description": "Debtor's org_id", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD), Debtor's birth_date ", "title": "birth_date" }, "birth_city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Debtor's birth_city", "title": "birth_city" }, "birth_country": { "type": "string", "description": "Debtor's birth_country", "pattern": "^[A-Z]{2,2}$", "title": "birth_country" } }, "required": [ "account", "name", "bank_id" ] }, "Message-Debtor-Status": { "type": "object", "title": "MessageDebtorStatus", "properties": { "proxy_id": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Debtor's proxy identification (e.g., email address) \n - For US debtor.proxy_id field is not applicable", "title": "proxy_id" }, "proxy_type": { "type": "string", "enum": [ "BIID", "EMAL", "EWAL", "MBNO", "NIDN" ], "description": "Debtor's proxy type (BIID for bill identification, EMAL for email address, EWAL for electronic wallet identification, MBNO for mobile number and NIDN for national identification) \n - For US debtor.proxy_type is not applicable", "title": "proxy_type" }, "tax_id": { "maxLength": 128, "minLength": 1, "type": "string", "description": "Debtor's tax identification \n - For US debtor.tax_id is not applicable", "title": "tax_id" }, "account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Debtor's bank account", "title": "account" }, "account_name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Debtor Account name, different from the Debtor Name", "title": "account_name" }, "virtual_account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Debtor's virtual account \n - For US debtor.virtual_account field is not applicable", "title": "virtual_account" }, "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Debtor's bank account name ", "title": "name" }, "address_lines": { "type": "array", "description": "Debtor's address_lines", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Debtor's street_name ", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Debtor's building_number", "title": "building_number" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Debtor's postal_code", "title": "postal_code" }, "city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Debtor's City", "title": "city" }, "state": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Debtor's State", "title": "state" }, "country": { "type": "string", "description": "Debtor's Country", "pattern": "^[A-Z]{2,2}$", "title": "country" }, "org_id": { "maxLength": 20, "minLength": 1, "type": "string", "description": "Debtor's org_id", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD), Debtor's birth_date ", "title": "birth_date" }, "birth_city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Debtor's birth_city", "title": "birth_city" }, "birth_country": { "type": "string", "description": "Debtor's birth_country", "pattern": "^[A-Z]{2,2}$", "title": "birth_country" }, "bank_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Instructing Agent member Identification ID of a clearing system", "title": "bank_id" }, "bank_branch_id": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Debtor Bank branch ID", "title": "bank_branch_id" } } }, "Message-Method-Request-For-Payment": { "type": "object", "title": "MessageMethodRequestForPayment", "required": [ "country", "instructed_currency", "method" ], "properties": { "country": { "description": "ISO 3166 Alpha-2 code for the transaction country", "type": "string", "enum": [ "US" ], "title": "country" }, "instructed_currency": { "type": "string", "description": "ISO 4217 code for the transaction instructed amount currency", "enum": [ "USD" ], "title": "instructed_currency" }, "method": { "description": "Method specified by the debtor for the transaction \n- Provide IP for instant payment", "type": "string", "enum": [ "IP" ], "title": "method" }, "network": { "type": "string", "enum": [ "RTP", "ZELLE" ], "description": "Financial market infrastructure or clearing system (e.g., RTP Network in the United States)", "title": "network" } } }, "Message-Method-Status": { "type": "object", "title": "MessageMethodStatus", "required": [ "country", "instructed_currency", "method", "type" ], "properties": { "country": { "description": "ISO 3166 Alpha-2 code for the transaction country", "type": "string", "enum": [ "US" ], "title": "country" }, "instructed_currency": { "type": "string", "description": "ISO 4217 code for the transaction instructed amount currency", "enum": [ "USD", "EUR", "ARS", "BRL" ], "title": "instructed_currency" }, "method": { "description": "Method specified by the debtor for the transaction \\n- Provide IP for instant payment", "type": "string", "enum": [ "IP" ], "title": "method" }, "type": { "type": "string", "description": "Transaction message type (e.g., CT for credit transfer. RF for Refund) \n- CT - Credit Transfer \n- RF - Return payment \n- BK_CT - Book to Book Credit Transfer \n- BK_RF - Book to Book Return Payment", "enum": [ "CT", "RF", "BK_CT", "BK_RF" ], "title": "type" }, "network": { "type": "string", "enum": [ "RTP", "ZELLE", "FDN" ], "description": "Financial market infrastructure or clearing system (e.g., RTP Network in the United States) \n- RTP for TCH \n- FDN for FedNow", "title": "network" } } }, "Message-Transaction-Request-For-Payment": { "type": "object", "title": "MessageTransactionRequestForPayment", "required": [ "uetr", "type", "instructed_amount", "creation_date_time", "settlement_currency", "payment_information_id", "end_to_end_id", "category" ], "properties": { "end_to_end_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Client provided reference number", "title": "end_to_end_id" }, "instruction_id": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Instruction Id", "title": "instruction_id" }, "payment_information_id": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Payment Information ID", "title": "payment_information_id" }, "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 end-to-end transaction reference", "title": "uetr" }, "type": { "type": "string", "description": "Transaction Type - Debit or Credit", "enum": [ "credit", "debit" ], "title": "type" }, "local_reference": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This is a Citi generated payment reference which is included in the ‘Bank Reference’ field of bank statement posting for itemized transaction", "title": "local_reference" }, "creation_date_time": { "type": "string", "format": "date-time", "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Instant Payment (Debit) - Date time, generated by CitiConnect API, when CitiConnect API accepted a payment initiation after validation \n- Instant Payment (Credit) - Date time, either provided by the debtor bank or generated by Citi's transaction processing application, when a transaction was created", "title": "creation_date_time" }, "instructed_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount instructed by client for a transaction", "title": "instructed_amount" }, "settlement_currency": { "maxLength": 3, "type": "string", "description": "ISO 4217 code for the transaction settlement amount currency", "title": "settlement_currency" }, "unstructured_remittance_info": { "type": "array", "description": "Unstructured remitance information \n - For US transaction.unstructured_remittance_info field maximum length is 140 and unlimited line is allowed", "items": { "$ref": "#/$defs/Unstructured" }, "title": "unstructured_remittance_info" }, "category": { "type": "string", "description": "Specifies the high level purpose of the instruction", "enum": [ "BUSINESS", "CONSUMER" ], "title": "category" }, "requested_execution_date": { "type": "string", "format": "date", "description": "Requested Execution Date Format is YYYY-MM-DD. \n- Either Requested Execution Date or Requested Execution Date Time must be present", "title": "requested_execution_date" }, "requested_execution_date_time": { "type": "string", "format": "date-time", "description": "Requested Execution Date/Time UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n - \n- Either Requested Execution Date or Requested Execution Date Time must be present", "title": "requested_execution_date_time" }, "expiry_date": { "type": "string", "format": "date", "description": "Expiry Date Format is YYYY-MM-DD \n - Either Expiry Date or Expiry Date Time must be present", "title": "expiry_date" }, "expiry_date_time": { "type": "string", "format": "date-time", "description": "Expiry Date/Time GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n - Either Expiry Date or Expiry Date Time must be present", "title": "expiry_date_time" }, "amt_mod_allowed": { "type": "boolean", "default": true, "description": "Indicator by customer if the debtor (RFP recipient) can modify over/under the instructed amount \n - true - Amount may be modified by the Debtor \n- false - Amount of payment must equal the Instructed Amount", "title": "amt_mod_allowed" }, "full_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount that is the gross amount payable by client \n- If populated, message.transaction.discount_amount must also be populated", "title": "full_amount" }, "discount_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount that is the discount from the gross amount \n- If populated, message.transaction.full_amount must also be popluated", "title": "discount_amount" }, "purpose": { "type": "string", "minLength": 1, "maxLength": 5, "description": "Purpose of a transaction \n- GDDS for payment related to purchase or sale of goods \n- SCVE for payment related to purchase or sale of services \n- PAYR for payroll payment \n- NOWS for Not Otherwise Specified \n- INVS for Invoice Signed \n- INSC for Payment Of Insurance Claim \n- INSM for Installment \n- PDEP for Property Deposit \n- UBIL for Utilities Subscription Identification \n- ACCT for Account Management \n- CBLK for Bulk card transactions \n- MP2P for Mobile P2P Payment ", "title": "purpose" }, "status": { "type": "object", "title": "status", "properties": { "date_time": { "type": "string", "format": "date-time", "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Date time of transaction status", "title": "date_time" }, "code": { "type": "string", "description": "ISO 20022 message status code", "enum": [ "PRES", "ACSP", "ACCC", "RJCT" ], "title": "code" }, "description": { "type": "string", "description": "Status code description \n- RJCT - Rejected \n- PRES - Request For Payment has been presented to the Debtor \n- ACSP- Accepted Settlement In Process \n- ACCC - Accepted Settlement Completed", "minLength": 1, "maxLength": 256, "title": "description" } }, "required": [ "date_time", "code", "description" ] }, "reasons": { "type": "object", "title": "reasons", "readOnly": true, "properties": { "code": { "type": "string", "description": "Reason code (applicable when message is rejected)", "maxLength": 4, "title": "code" }, "description": { "type": "string", "description": "Reason code description (e.g., Debtor account is invalid.)", "minLength": 1, "maxLength": 256, "title": "description" }, "isproprietary": { "type": "integer", "description": "Flag to indicate the Rejection code is ISO Standard or Proprietary \n- 0 For ISO Code \n- 1 For Proprietary", "enum": [ 0, 1 ], "title": "isproprietary" } } } } }, "Message-Transaction-Status": { "type": "object", "title": "MessageTransactionStatus", "required": [ "uetr", "type", "instructed_amount", "creation_date_time", "value_date", "settlement_currency", "settlement_amount" ], "properties": { "end_to_end_id": { "maxLength": 35, "minLength": 1, "pattern": "^(?!\\s*$).+", "type": "string", "description": "Specifies a character string with a maximum length of 35 characters", "title": "end_to_end_id" }, "instruction_id": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Instruction Id", "title": "instruction_id" }, "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 end-to-end transaction reference", "title": "uetr" }, "network_id": { "maxLength": 128, "minLength": 1, "type": "string", "description": "Transaction identification generated for or by the network", "title": "network_id" }, "local_reference": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This is a Citi generated payment reference which is included in the ‘Bank Reference’ field of bank statement posting for itemized transaction", "title": "local_reference" }, "batch_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Identification for the bulk debit or credit posting to Citi account \n - For SEPA, transaction.batch_id field is optional and allwed maxLength is 35", "title": "batch_id" }, "bill_id_1": { "maxLength": 128, "pattern": "^[0-9A-Z]{1,128}$", "type": "string", "description": "Bill identification for a bill payment \n - For US transaction.bill_id_1 field is not applicable", "title": "bill_id_1" }, "bill_id_2": { "maxLength": 128, "pattern": "^[0-9A-Z]{1,128}$", "type": "string", "description": "Bill identification for a bill payment \n - For US transaction.bill_id_2 field is not applicable", "title": "bill_id_2" }, "bill_id_3": { "maxLength": 128, "pattern": "^[0-9A-Z]{1,128}$", "type": "string", "description": "Bill identification for a bill payment \n - For US transaction.bill_id_3 field is not applicable", "title": "bill_id_3" }, "type": { "type": "string", "description": "Transaction Type - Debit or Credit", "enum": [ "credit", "debit" ], "title": "type" }, "purpose": { "type": "string", "enum": [ "CNFL", "PAYR", "OTHR", "CASH", "GP2P", "SCVE", "GDDS", "GDSV", "SALA", "SUPP", "RCPT", "COST", "TREA", "REFU" ], "description": "Purpose of a transaction \n- CASH for cash management \n- CNFL for confidential \n- COST for payment for business expenses \n- GDDS for payment related to purchase or sale of goods \n- GDSV for payment related to purchase or sale of goods and services \n- GP2P for person-to-person payment \n- OTHR for other, if your payment doesn't fit any of the specific purpose codes \n- PAYR for payroll payment \n- RCPT for payment of a receipt \n- SALA for salary payment \n- SCVE for payment related to purchase or sale of services \n- SUPP for supplier payment \n- TREA for treasury payment \n- REFU for refund payment", "title": "purpose" }, "tax_code": { "type": "number", "enum": [ 0, 1 ], "description": "Tax code \n - For US transaction.tax_code field is not applicable", "title": "tax_code" }, "wht_code": { "type": "string", "enum": [ "A", "S", "B" ], "description": "Withholding tax (WHT) code \n - For US transaction.wht_code field is not applicable", "title": "wht_code" }, "income_type": { "type": "string", "pattern": "^(00[0-9]|01[0-2])$", "description": "Income type \n - For US transaction.income_type field is not applicable", "title": "income_type" }, "vat_rate": { "type": "number", "minimum": 0, "description": "Value-added tax (VAT) rate \n - For US transaction.vat_rate field is not applicable", "title": "vat_rate" }, "vat_amount": { "type": "number", "maximum": 1000000000000000, "description": "Value-added tax (VAT) amount \n - For US transaction.vat_amount field is not applicable", "title": "vat_amount" }, "wht_rate": { "type": "number", "minimum": 0, "description": "Withholding tax (WHT) rate (0 - 99.99) \n - For US transaction.wht_rate field is not applicable", "title": "wht_rate" }, "wht_amount": { "type": "number", "maximum": 1000000000000000, "description": "Withholding tax (WHT) amount \n - For US transaction.wht_amount field is not applicable", "title": "wht_amount" }, "bill_due_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD) bill due date \n - For US transaction.bill_due_date field is not applicable", "title": "bill_due_date" }, "creation_date_time": { "type": "string", "format": "date-time", "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Instant Payment (Debit) - Date time, generated by CitiConnect API, when CitiConnect API accepted a payment initiation after validation \n- Instant Payment (Credit) - Date time, either provided by the debtor bank or generated by Citi's transaction processing application, when a transaction was created", "title": "creation_date_time" }, "value_date": { "type": "string", "format": "date", "description": "YYYY-MM-DD Date in local time zone (e.g., EST for a United States RTP ) when Citi's transaction processing application starts processing a transaction", "title": "value_date" }, "instructed_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount instructed by client for a transaction", "title": "instructed_amount" }, "settlement_currency": { "maxLength": 3, "type": "string", "description": "ISO 4217 code for the transaction settlement amount currency", "title": "settlement_currency" }, "settlement_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Settlement amount (e.g., after any currency exchange or charge on the instructed amount)", "title": "settlement_amount" }, "interbank_settlement_date": { "type": "string", "format": "date", "description": "Interbank settlement Date received from clearing (TCH) Format is YYYY-MM-DD", "title": "interbank_settlement_date" }, "unstructured_remittance_info": { "type": "array", "description": "Unstructured remitance information \n - For US transaction.unstructured_remittance_info field maximum length is 140 and unlimited line is allowed \n - For SEPA, transaction.unstructured_remittance_info field is optional and maxLength is 140", "items": { "$ref": "#/$defs/Unstructured" }, "title": "unstructured_remittance_info" }, "advice_id": { "type": "string", "description": "Remittance identifier", "maxLength": 35, "minLength": 1, "title": "advice_id" }, "advice_type": { "type": "string", "description": "Method use to deliver the remittance advice information", "enum": [ "EMAL", "FAXI", "SMSM", "URID" ], "title": "advice_type" }, "advice_address": { "type": "string", "maxLength": 2048, "minLength": 1, "description": "Address to send remittance details", "title": "advice_address" }, "category": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Specifies the high level purpose of the instruction \n- For US TCH - CONUSMER, BUSINESS \n- For US Fednow - CONS, BIZZ,GOVT \n- CONS for credit transfers initiated by a consumer \n- BIZZ for credit transfers initiated by a business entity \n- GOVT for credit transfers initiated by a government agency", "title": "category" }, "original_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount that was originally sent by our client. \n - For Thailand PromptPay transaction.original_amount field is not applicable \n- For United States transaction.original_amount field is optional \n- For IN IMPS transaction.original_amount field is not applicable \n- For UK FPS Instant payment transaction.original_amount field is not applicable", "title": "original_amount" }, "full_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount that is the gross amount payable to our client. If populated, transaction.discount_amount must also be populated \n - For Thailand PromptPay transaction.full_amount field is not applicable \n- For United States transaction.full_amount field is optional \n- For IN IMPS transaction.full_amount field is not applicable \n- For UK FPS Instant payment transaction.full_amount field is not applicable", "title": "full_amount" }, "discount_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount that is the discount from the gross amount. If populated, transaction.full_amount must also be popluated \n - For Thailand PromptPay transaction.discount_amount field is not applicable \n- For United States transaction.discount_amount field is optional \n- For IN IMPS transaction.discount_amount field is not applicable \n- For UK FPS Instant payment transaction.discount_amount field is not applicable", "title": "discount_amount" } } }, "Message-Ultimate-Creditor-Status": { "type": "object", "title": "MessageUltimateCreditorStatus", "properties": { "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Ultimate Creditor's bank account name", "title": "name" }, "address_lines": { "type": "array", "description": "Ultimate Creditor's address_lines", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Ultimate Creditor's street_name", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Ultimate Creditor's building_number", "title": "building_number" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Ultimate Creditor's postal_code", "title": "postal_code" }, "city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Creditor's city", "title": "city" }, "state": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Creditor's state", "title": "state" }, "country": { "type": "string", "description": "Ultimate Creditor's country", "pattern": "^[A-Z]{2,2}$", "title": "country" } } }, "Message-Ultimate-Debtor-Request-For-Payment": { "type": "object", "title": "MessageUltimateDebtorRequestForPayment", "properties": { "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Name of the ultimate debtor", "title": "name" }, "address_lines": { "type": "array", "description": "Ultimate Debtor's address_lines", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Ultimate Debtor's street_name", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Ultimate Debtor's building_number", "title": "building_number" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Ultimate Debtor's postal_code", "title": "postal_code" }, "city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Debtor's city", "title": "city" }, "state": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Debtor's state ", "title": "state" }, "country": { "type": "string", "description": "Ultimate Debtor's country", "pattern": "^[A-Z]{2,2}$", "title": "country" }, "org_id": { "maxLength": 20, "minLength": 1, "type": "string", "description": " Ultimate Debtor's org_id", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD), ultimate debtor's birth date", "title": "org_id" }, "birth_city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate debtor's birth city", "title": "birth_city" }, "birth_country": { "type": "string", "description": "Ultimate debtor's birth country", "pattern": "^[A-Z]{2,2}$", "title": "birth_country" } } }, "Message-Ultimate-Debtor-Status": { "type": "object", "title": "MessageUltimateDebtorStatus", "properties": { "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Name of the ultimate debtor", "title": "name" }, "address_lines": { "type": "array", "description": "Ultimate Debtor's address_lines", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "street_name": { "maxLength": 70, "minLength": 1, "type": "string", "description": "Ultimate Debtor's street_name", "title": "street_name" }, "building_number": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Ultimate Debtor's building_number", "title": "building_number" }, "postal_code": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Ultimate Debtor's postal_code", "title": "postal_code" }, "city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Debtor's city", "title": "city" }, "state": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Debtor's state ", "title": "state" }, "country": { "type": "string", "description": "Ultimate Debtor's country", "pattern": "^[A-Z]{2,2}$", "title": "country" } } }, "Original-Creditor": { "type": "object", "title": "OriginalCreditor", "properties": { "bank_id": { "minLength": 1, "maxLength": 35, "type": "string", "description": "Bank Id of Creditor from original payment", "title": "bank_id" }, "name": { "minLength": 1, "maxLength": 140, "type": "string", "description": "Name of Creditor from Original Payment", "title": "name" }, "street_name": { "minLength": 1, "maxLength": 70, "type": "string", "description": "Creditor Street name of Original Payment", "title": "street_name" }, "building_number": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Creditor Building number of Original Payment", "title": "building_number" }, "postal_code": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Creditor Postal code of Original Payment", "title": "postal_code" }, "city": { "minLength": 1, "maxLength": 35, "type": "string", "description": "City of Creditor from Original Payment", "title": "city" }, "state": { "minLength": 1, "maxLength": 35, "type": "string", "description": "State of Creditor from Original Payment", "title": "state" }, "country": { "maxLength": 2, "type": "string", "description": "Country of Creditor from Original Payment", "title": "country" }, "address_lines": { "type": "array", "description": "Creditor Address lines of Original Payment which is an array of 7 lines and each line has maximum 70 characters", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "org_id": { "minLength": 1, "maxLength": 35, "type": "string", "description": "Creditor Org ID of Original Payment", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "Creditor Birth date of Original Payment.Format is YYYY-MM-DD", "title": "birth_date" }, "birth_city": { "minLength": 1, "maxLength": 35, "type": "string", "description": "Creditor Birth city of Original Payment", "title": "birth_city" }, "birth_country": { "maxLength": 2, "type": "string", "description": "Creditor Birth country of Original Payment", "title": "birth_country" }, "proxy_id": { "maxLength": 255, "minLength": 1, "type": "string", "description": "Creditor's proxy identification (e.g., email address) of original payment", "title": "proxy_id" }, "proxy_type": { "type": "string", "enum": [ "BIID", "EMAL", "EWAL", "MBNO", "NIDN", "COTS", "IBAN", "PAYR" ], "description": "Creditor's proxy type (BIID for bill identification, EMAL for email address, EWAL for electronic wallet identification, MBNO for mobile number, NIDN for national identification, COTS for tax identification, IBAN for internetational bank account number and PAYR for payer identification) of original payment", "title": "proxy_type" }, "account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Creditor's bank account of original payment ", "title": "account" }, "prvt_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's prvt_id of original payment ", "title": "prvt_id" }, "birth_province": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Creditor's Province Of Birth of original payment ", "title": "birth_province" }, "department": { "maxLength": 70, "minLength": 1, "type": "string", "description": "creditor Address Department of original payment ", "title": "department" }, "sub_department": { "maxLength": 70, "minLength": 1, "type": "string", "description": "creditor Address Sub-Department of original payment", "title": "sub_department" }, "building_name": { "maxLength": 35, "minLength": 1, "type": "string", "description": "creditor building name of original payment ", "title": "building_name" }, "floor": { "maxLength": 70, "minLength": 1, "type": "string", "description": "creditor address floor of original payment", "title": "floor" }, "post_box": { "maxLength": 16, "minLength": 1, "type": "string", "description": "creditor address post box of original payment ", "title": "post_box" }, "room": { "maxLength": 70, "minLength": 1, "type": "string", "description": "creditor address room of original payment ", "title": "room" }, "town_location_name": { "maxLength": 35, "minLength": 1, "type": "string", "description": "creditor address town location name of original payment ", "title": "town_location_name" }, "district_name": { "maxLength": 35, "minLength": 1, "type": "string", "description": "creditor address district_name of original payment ", "title": "district_name" }, "anybic": { "maxLength": 35, "minLength": 1, "type": "string", "description": "creditor BIC of original payment ", "title": "anybic" }, "lei": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Unique global identifier for legal entities participating in financial transactions of original payment ", "title": "lei" }, "issuer": { "maxLength": 35, "minLength": 1, "type": "string", "description": "creditor name that identifies an issuer of original payment ", "title": "issuer" }, "scheme_name": { "maxLength": 128, "minLength": 1, "type": "string", "description": "Creditor's scheme name of original payment", "title": "scheme_name" } } }, "Original-Debtor": { "type": "object", "title": "OriginalDebtor", "properties": { "bank_id": { "minLength": 1, "maxLength": 35, "type": "string", "description": "Debtor Bank ID of Original Payment", "title": "bank_id" }, "name": { "minLength": 1, "maxLength": 140, "type": "string", "description": "Name of Debtor from Original Payment", "title": "name" }, "street_name": { "minLength": 1, "maxLength": 70, "type": "string", "description": "Street Name of Debtor address from Original Payment", "title": "street_name" }, "building_number": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Debtor Building number of Original Payment", "title": "building_number" }, "postal_code": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Debtor Postal code of Original Payment", "title": "postal_code" }, "city": { "minLength": 1, "maxLength": 35, "type": "string", "description": "City of Debtor from Original Payment", "title": "city" }, "state": { "minLength": 1, "maxLength": 35, "type": "string", "description": "State of Debtor from Original Payment", "title": "state" }, "country": { "maxLength": 2, "type": "string", "description": "Country of Debtor from Original Payment", "title": "country" }, "address_lines": { "type": "array", "description": "Debtor Address lines of Original Payment which is array of 7 lines and each line has maximum 70 characters", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" }, "org_id": { "minLength": 1, "maxLength": 35, "type": "string", "description": "Debtor Org ID of Original Payment", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "Debtor Birth date of Original Payment.Format is YYYY-MM-DD", "title": "birth_date" }, "birth_city": { "minLength": 1, "maxLength": 35, "type": "string", "description": "Debtor Birth city of Original Payment", "title": "birth_city" }, "birth_country": { "maxLength": 2, "type": "string", "description": "Debtor Birth country of Original Payment", "title": "birth_country" }, "proxy_id": { "maxLength": 255, "minLength": 1, "type": "string", "description": "Debtor's proxy identification (e.g., email address) of original payment", "title": "proxy_id" }, "proxy_type": { "type": "string", "enum": [ "BIID", "EMAL", "EWAL", "MBNO", "NIDN" ], "description": "Debtor's proxy type (BIID for bill identification, EMAL for email address, EWAL for electronic wallet identification, MBNO for mobile number and NIDN for national identification) of original payment", "title": "proxy_type" }, "account": { "maxLength": 40, "minLength": 1, "type": "string", "description": "Debtor's bank account of original payment", "title": "account" }, "birth_province": { "maxLength": 35, "minLength": 1, "type": "string", "description": " Debtor Province Of Birth of original payment", "title": "birth_province" }, "prvt_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Debtor's private id of original payment", "title": "prvt_id" }, "department": { "maxLength": 70, "minLength": 1, "type": "string", "description": "debtor Address Department of original payment ", "title": "department" }, "sub_department": { "maxLength": 70, "minLength": 1, "type": "string", "description": "debtor Address Sub-Department of original payment", "title": "sub_department" }, "building_name": { "maxLength": 35, "minLength": 1, "type": "string", "description": "debtor building name of original payment ", "title": "building_name" }, "floor": { "maxLength": 70, "minLength": 1, "type": "string", "description": "debtor address floor of original payment", "title": "floor" }, "post_box": { "maxLength": 16, "minLength": 1, "type": "string", "description": "debtor address post box of original payment ", "title": "post_box" }, "room": { "maxLength": 70, "minLength": 1, "type": "string", "description": "debtor address room of original payment", "title": "room" }, "town_location_name": { "maxLength": 35, "minLength": 1, "type": "string", "description": "debtor address town location name of original payment ", "title": "town_location_name" }, "district_name": { "maxLength": 35, "minLength": 1, "type": "string", "description": "debtor address district_name of original payment ", "title": "district_name" }, "anybic": { "maxLength": 35, "minLength": 1, "type": "string", "description": "debtor BIC of original payment ", "title": "anybic" }, "lei": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Unique global identifier for legal entities participating in financial transactions of original payment ", "title": "lei" }, "issuer": { "maxLength": 35, "minLength": 1, "type": "string", "description": "debtor name that identifies an issuer of original payment ", "title": "issuer" }, "scheme_name": { "maxLength": 128, "minLength": 1, "type": "string", "description": "Debtor's scheme name of original payment", "title": "scheme_name" } } }, "Original-Ultimate-Creditor": { "type": "object", "title": "OriginalUltimateCreditor", "properties": { "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Ultimate Creditor's bank account name of original payment ", "title": "name" }, "org_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Creditor's org_id of original payment", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD), ultimate creditor's birth date of original payment ", "title": "birth_date" }, "birth_city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Creditor's birth city of original payment ", "title": "birth_city" }, "birth_country": { "type": "string", "description": "Ultimate Creditor's birth country of original payment ", "pattern": "^[A-Z]{2,2}$", "title": "birth_country" }, "birth_province": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Creditor Province Of Birth of original payment ", "title": "birth_province" }, "prvt_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Creditor's private id of original payment ", "title": "prvt_id" }, "anybic": { "maxLength": 35, "minLength": 1, "type": "string", "description": "ultimate Creditor's BIC of original payment ", "title": "anybic" }, "lei": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Unique global identifier for legal entities participating in financial transactions of original payment ", "title": "lei" }, "issuer": { "maxLength": 35, "minLength": 1, "type": "string", "description": "ultimate Creditor's name that identifies an issuer of original payment ", "title": "issuer" }, "scheme_name": { "maxLength": 128, "minLength": 1, "type": "string", "description": "Ultimate Creditor's scheme name of original payment", "title": "scheme_name" } } }, "Original-Ultimate-Debtor": { "type": "object", "title": "OriginalUltimateDebtor", "properties": { "name": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Ultimate Debtor's bank account name of original payment ", "title": "name" }, "org_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Debtor's org_id of original payment", "title": "org_id" }, "birth_date": { "type": "string", "format": "date", "description": "ISO 8601 (YYYY-MM-DD), ultimate debtor's birth date of original payment ", "title": "birth_date" }, "birth_city": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate debtor's birth city of original payment ", "title": "birth_city" }, "birth_country": { "type": "string", "description": "Ultimate debtor's birth country of original payment ", "pattern": "^[A-Z]{2,2}$", "title": "birth_country" }, "birth_province": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Debtor Province Of Birth of original payment ", "title": "birth_province" }, "prvt_id": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Ultimate Debtor's private id of original payment ", "title": "prvt_id" }, "anybic": { "maxLength": 35, "minLength": 1, "type": "string", "description": "ultimate debtor's BIC of original payment ", "title": "anybic" }, "lei": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Unique global identifier for legal entities participating in financial transactions of original payment ", "title": "lei" }, "issuer": { "maxLength": 35, "minLength": 1, "type": "string", "description": "ultimate debtor's name that identifies an issuer of original payment ", "title": "issuer" }, "scheme_name": { "maxLength": 128, "minLength": 1, "type": "string", "description": "Ultimate Debtor's scheme name of original payment", "title": "scheme_name" } } }, "Payment-Confirmation-Request": { "type": "object", "title": "PaymentConfirmationRequest", "description": "Incoming Payment Confirmation Request", "properties": { "debtor": { "$ref": "#/$defs/Message-Debtor-Status" }, "ultimate_debtor": { "$ref": "#/$defs/Message-Ultimate-Debtor-Status" }, "creditor": { "$ref": "#/$defs/Message-Creditor-Status" }, "ultimate_creditor": { "$ref": "#/$defs/Message-Ultimate-Creditor-Status" }, "method": { "$ref": "#/$defs/Message-Method-Status" }, "transaction": { "$ref": "#/$defs/Message-Transaction-Status" } } }, "Request-For-Payment": { "type": "object", "title": "RequestForPayment", "required": [ "debtor", "creditor", "method", "transaction" ], "description": "Request For Payment", "properties": { "debtor": { "$ref": "#/$defs/Message-Debtor-Request-For-Payment" }, "ultimate_debtor": { "$ref": "#/$defs/Message-Ultimate-Debtor-Request-For-Payment" }, "creditor": { "$ref": "#/$defs/Message-Creditor-Request-For-Payment" }, "ultimate_creditor": { "$ref": "#/$defs/Message-Ultimate-Creditor-Status" }, "method": { "$ref": "#/$defs/Message-Method-Request-For-Payment" }, "transaction": { "$ref": "#/$defs/Message-Transaction-Request-For-Payment" }, "response_rfp": { "type": "object", "title": "responserfp", "properties": { "message_id": { "type": "string", "description": "Message Identification of Response to Request For Payment \n- Mandatory only if message.transaction.status.code = ACSP \n - Conditional if message.transaction.status.code = ACCC. The condition is -: If a RRFP was initiated , this field is mandatory; if RRFP was not initiated, this field must not be present.", "maxLength": 35, "title": "message_id" }, "creation_date_time": { "type": "string", "format": "date-time", "description": "UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) Date time when a message was created for Response to Request For Payment.\n- Mandatory only if message.transaction.status.code = ACSP \n - Conditional if message.transaction.status.code = ACCC. The condition is -: If a RRFP was initiated , this field is mandatory; if RRFP was not initiated, this field must not be present.", "title": "creation_date_time" }, "end_to_end_id": { "maxLength": 35, "minLength": 1, "pattern": "^(?!\\s*$).+", "type": "string", "description": "Unique End to end id of Response to Request for Payment \n- Mandatory only if message.transaction.status.code = ACSP \n - Conditional if message.transaction.status.code = ACCC. The condition is -: If a RRFP was initiated , this field is mandatory; if RRFP was not initiated, this field must not be present.", "title": "end_to_end_id" }, "accepted_amount": { "type": "number", "minimum": 0.01, "maximum": 1000000000000000, "description": "Amount to be paid from Request for Payment.\n- Mandatory only if message.transaction.status.code = ACSP \n - Conditional if message.transaction.status.code = ACCC. The condition is -: If a RRFP was initiated , this field is mandatory; if RRFP was not initiated, this field must not be present.", "title": "accepted_amount" }, "accepted_currency": { "type": "string", "description": "ISO 4217 code for the accepted currency \n- Mandatory only if message.transaction.status.code = ACSP \n - Conditional if message.transaction.status.code = ACCC. The condition is -: If a RRFP was initiated , this field is mandatory; if RRFP was not initiated, this field must not be present.", "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 only if message.transaction.status.code = ACSP \n - Conditional if message.transaction.status.code = ACCC. The condition is -: If a RRFP was initiated , this field is mandatory; if RRFP was not initiated, this field must not be present.", "title": "scheduled_exec_date" } } } } }, "Request-For-Refund": { "type": "object", "title": "RequestForRefund", "description": "Incoming/Outgoing Request For Refund", "properties": { "case_id": { "type": "string", "description": "Case Id received from clearing", "minLength": 1, "maxLength": 35, "readOnly": true, "title": "case_id" }, "reasons": { "type": "object", "title": "reasons", "properties": { "code": { "type": "string", "description": "Code of Transaction reasons.Either ISO code or proprietary code should be present in this field", "maxLength": 4, "title": "code" }, "description": { "type": "string", "description": "Description of Transaction reasons", "minLength": 1, "maxLength": 105, "title": "description" } }, "required": [ "code" ] }, "requestor_name": { "type": "string", "description": "Official name of the originator of Request For Refund", "minLength": 1, "maxLength": 140, "title": "requestor_name" }, "requestor_bank_id": { "type": "string", "description": "Bank ID of the originator FI requesting Request For Refund", "minLength": 1, "maxLength": 35, "title": "requestor_bank_id" }, "requestor_issuer": { "type": "string", "description": "Originator Issuer", "minLength": 1, "maxLength": 35, "title": "requestor_issuer" }, "requestor_org_id": { "type": "string", "description": "Orginator Identification", "minLength": 1, "maxLength": 35, "title": "requestor_org_id" }, "requestor_lei": { "type": "string", "description": "LEI of the originator of RFR", "minLength": 1, "maxLength": 20, "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}", "title": "requestor_lei" }, "status": { "type": "object", "title": "status", "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": [ "RCVD", "RJCT", "PDNG" ], "title": "code" }, "description": { "type": "string", "description": "Status code description \n- RJCT - Rejected \n- RCVD - Received \n - PDNG - Pending", "minLength": 1, "maxLength": 256, "title": "description" }, "reasons": { "type": "object", "title": "reasons", "readOnly": true, "properties": { "code": { "type": "string", "description": "Reason code (applicable when message is rejected)", "maxLength": 4, "title": "code" }, "description": { "type": "string", "description": "Reason code description (e.g., Debtor account is invalid.)", "minLength": 1, "maxLength": 256, "title": "description" } } } }, "required": [ "date_time", "code", "description" ] } }, "required": [ "case_id" ], "additionalProperties": false }, "Response-To-Payment-Confirmation-Request": { "type": "object", "title": "ResponseToPaymentConfirmationRequest", "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- Date time, \n-, status change date time", "title": "date_time" }, "code": { "type": "string", "description": "ISO 20022 message status code", "enum": [ "PDNG", "RJCT" ], "title": "code" }, "description": { "type": "string", "description": "Status code description \n- PDNG - Pending \n- RJCT - Rejected", "minLength": 1, "maxLength": 256, "title": "description" }, "reasons": { "type": "object", "title": "reasons", "readOnly": true, "properties": { "code": { "type": "string", "description": "Reason code (applicable when message is rejected)", "maxLength": 4, "title": "code" }, "description": { "type": "string", "description": "Reason code description (e.g., Debtor account is invalid.)", "minLength": 1, "maxLength": 256, "title": "description" } } } } } } }, "Response-To-Request-For-Information-Compliance": { "title": "Response-To-Request-For-Information-Compliance", "type": "object", "description": "Response to Request for Information Compliance", "properties": { "rrfics": { "type": "object", "description": "Response to Request for Information Compliance", "title": "rrfics", "properties": { "alert_id": { "type": "string", "description": "RFI Alert ID.", "minLength": 1, "maxLength": 16, "title": "alert_id" }, "request_id": { "type": "string", "description": "RFI Request ID. ", "minLength": 1, "maxLength": 16, "title": "request_id" }, "response_date_time": { "type": "string", "format": "date-time", "description": "RFI Response Date Time.", "title": "response_date_time" }, "purpose_of_transaction": { "type": "string", "description": "Purpose Of Transaction.", "minLength": 1, "maxLength": 140, "title": "purpose_of_transaction" }, "additional_details": { "type": "string", "description": "Additional Details.", "minLength": 1, "maxLength": 140, "title": "additional_details" }, "fieldlevel_responses": { "type": "array", "items": { "$ref": "#/$defs/Field-level-Responses-For-RRFICS" }, "description": " This block will contain 3 fields (id, name,value) and at least 1 field from the input type for which response is provided.", "maxItems": 30, "title": "fieldlevel_responses" } }, "required": [ "alert_id", "request_id", "response_date_time" ] } }, "required": [ "uetr" ] }, "Response-To-Request-For-Payment": { "type": "object", "title": "ResponseToRequestForPayment", "description": "Response to Request for Payment", "properties": { "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": [ "RCVD", "RJCT", "PDNG" ], "title": "code" }, "description": { "type": "string", "description": "Status code description \n- RCVD - Received \n - RJCT - Rejected \n- PDNG - Pending", "minLength": 1, "maxLength": 256, "title": "description" }, "reasons": { "type": "object", "title": "reasons", "readOnly": true, "properties": { "code": { "type": "string", "description": "Reason code (applicable when message is rejected)", "maxLength": 4, "title": "code" }, "description": { "type": "string", "description": "Reason code description (e.g., Debtor account is invalid.)", "minLength": 1, "maxLength": 256, "title": "description" } } } }, "required": [ "date_time", "code", "description" ] } }, "required": [ "decision_code", "end_to_end_id", "payment_information_id" ] }, "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" } } }, "Ultimate-Debtor-Refund": { "type": "object", "title": "UltimateDebtorRefund", "properties": { "name": { "minLength": 1, "maxLength": 140, "type": "string", "description": "Name of Ultimate Debtor to be passed for Refund payment \n- For United States ultimate_debtor.name field is optional \n- For Thailand ultimatedebtor.name field is not applicable \n- For Brazil ultimatedebtor.name field is not applicable \n- For SEPA ultimate_debtor.name field is not applicable", "title": "name" }, "street_name": { "minLength": 1, "maxLength": 70, "type": "string", "description": "Street Name of Ultimate Debtor to be passed for Refund payment \n- For United States ultimate_debtor.street_name field is optional \n- For Thailand ultimatedebtor.street_name field is not applicable \n- For Brazil ultimatedebtor.street_name field is not applicable \n- For SEPA ultimate_debtor.street_name field is not applicable", "title": "street_name" }, "building_number": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Building number of Ultimate Debtor to be passed for Refund payment \n- For United States ultimate_debtor.building_number field is optional \n- For Thailand ultimatedebtor.building_number field is not applicable \n- For Brazil ultimatedebtor.building_number field is not applicable \n- For SEPA ultimate_debtor.building_number field is not applicable", "title": "building_number" }, "postal_code": { "minLength": 1, "maxLength": 16, "type": "string", "description": "Postal code of Ultimate Debtor to be passed for Refund payment \n- For United States ultimate_debtor.postal_code field is optional\n- For Thailand ultimatedebtor.postal_code field is not applicable \n- For Brazil ultimatedebtor.postal_code field is not applicable \n- For SEPA ultimate_debtor.postal_code field is not applicable", "title": "postal_code" }, "city": { "minLength": 1, "maxLength": 35, "type": "string", "description": "City of Ultimate Debtor to be passed for Refund payment \n- For United States ultimate_debtor.city field is optional \n- For Thailand ultimatedebtor.city field is not applicable \n- For Brazil ultimatedebtor.city field is not applicable \n- For SEPA ultimate_debtor.city field is not applicable", "title": "city" }, "state": { "minLength": 1, "maxLength": 35, "type": "string", "description": "State of Ultimate Debtor to be passed for Refund payment \n- For United States ultimate_debtor.state field is optional \n- For Thailand ultimatedebtor.state field is not applicable \n- For Brazil ultimatedebtor.state field is not applicable \n- For SEPA ultimate_debtor.state field is not applicable", "title": "state" }, "country": { "type": "string", "description": "Country of Ultimate Debtor to be passed for Refund payment \n- For United States ultimate_debtor.country field is optional \n- For Thailand ultimatedebtor.country field is not applicable \n- For Brazil ultimatedebtor.country field is not applicable \n- For SEPA ultimate_debtor.country field is not applicable", "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 is to be passed for Refund payment \n- For United States ultimate_debtor.address_lines field is optional \n- For Thailand ultimatedebtor.address_lines field is not applicable \n- For Brazil ultimatedebtor.address_lines field is not applicable \n- For SEPA ultimate_debtor.address_lines field is not applicable", "items": { "$ref": "#/$defs/Address" }, "title": "address_lines" } } }, "Unstructured": { "type": "string", "maxLength": 140, "minLength": 1, "description": "Unstructured remitance information", "title": "Unstructured" } } }