> This page is for Enterprise.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://citi-demo.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://citi-demo.ferndocs.com/_mcp/server.

# Inquire for the latest status of a beneficiary validation using UETR

GET https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/{uetr}

The API service responds with the latest beneficiary validation status of the unique end-to-end transaction reference (UETR) you inquire with.

Reference: https://citi-demo.ferndocs.com/enterprises/api-reference/payment-services/instant-payments/express-instant-payments/get-beneficiary-validation

## Authentication

- `Authorization` header (bearer token, required) — All CitiConnect APIs use the oAuth2 authentication scheme, which requires a bearer token to authenticate your API call. The Token URL includes the version of authentication used by this API. See the Citi Authentication API reference for information on requesting a token.

## Servers

- `https://b2b.api.icg.citi.com/citiconnect/prod` (production gateway url, default)
- `https://sandbox.b2b.api.icg.citi.com/citiconnect/sb` (sbox url )

## Request

### Path parameters

- `uetr` (string, required) — Unique end-to-end transaction reference

### Query parameters

- `client_id` (string, required) — Your unique identification, same as the identification you use for OAuth token generation, Citi shared with you during your CitiConnect API onboarding
- `end_to_end_id` (string, optional) — Client provided reference number

## Response

### 200

OK

- `uetr` (string, required) — UUID v4 format unique end-to-end transaction reference
- `method` (FinalBeneficiaryValidationResponseMethod, required)
- `status` (FinalBeneficiaryValidationResponseStatus, required)
- `end_to_end_id` (string, optional) — Client provided reference number. - For India IMPS and UPI, this field is mandatory and max length is 16 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not required
- `debtor` (FinalBeneficiaryValidationResponseDebtor, optional)
- `creditor` (FinalBeneficiaryValidationResponseCreditor, optional)
- `transaction` (FinalBeneficiaryValidationResponseTransaction, optional)
- `creation_date_time` (datetime, optional) — Request Creation Date and Time in UTC generated by CitiConnect API UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ)
- `network_id` (string, optional) — Transaction identification generated for or by the network - For India IMPS and UPI, this field is optional and max length is 12 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `local_reference` (string, optional) — This is a Citi generated payment reference which is included in the ‘Bank Reference’ field of bank statement posting for itemized transaction. - To utilize the field in production, please contact with implementation manager - For India IMPS and UPI, local_reference is optional - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable
- `reasons` (FinalBeneficiaryValidationResponseReasons, optional)
- `response` (FinalBeneficiaryValidationResponseResponse, optional)

## Errors

### 400 Bad Request Error

Bad Request

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)

### 401 Unauthorized Error

Unauthorized

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)

### 404 Not Found Error

Not Found

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)

### 405 Method Not Allowed Error

Method Not Allowed

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)

### 500 Internal Server Error

Internal Server Error

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)

## Types

### FinalBeneficiaryValidationResponseMethod

- `method` (enum, required) — Method specified by the debtor for the validation
  - Allowed values: `IMPS`, `UPI`, `BANKACCOUNT`, `IBAN`, `CARD`, `PAYMENTID`, `ID`, `MERCHANTID`
- `type` (enum, required) — Message type (e.g., CT for credit transfer,AER for Account Enquiry Request) - For India,this field is mandatory and allowed value is AER - For US EWS,this field is mandatory - For UK,this field is mandatory - Ownership - Account ownership is limited to validation of correct owner , hence the account number or equivalent ( i.e Virtual account) and Name - Attributes- Attributes define the properties of the object , for an account the properties should include Status , type of account, status of account , the address of the account etc. - Structure - Structure refers to the mod 97 and the length as per the country of IBAN - TAXID- Validation of individual or corporate tax id/tax documentation - For Pay2China, this field is mandatory with the value Ownership
  - Allowed values: `AER`, `Structure`, `Ownership`, `Attributes`, `TAXID`
- `country` (enum, required) — ISO 3166 Alpha-2 code for the transaction country
  - Allowed values: `IN`, `US`, `GB`, `CN`
- `network` (enum, optional) — Financial market infrastructure or clearing system (e.g., RTP Network in the United States) - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
  - Allowed values: `IMPS`, `UPI`
- `instructed_currency` (enum, optional) — Currency code - For India IMPS and UPI, this field is conditional and applicable only for penny transaction - For India UPI, this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
  - Allowed values: `INR`
- `penny_test` (enum, optional) — This field enables selection of penny,non-penny or both validations - Applicable for IN IMPS
  - Allowed values: `NONPENNY`, `PENNY`, `BOTH`

### FinalBeneficiaryValidationResponseStatus

- `date_time` (datetime, required) — UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) - Date time of transaction status
- `code` (enum, required) — ISO 20022 acknowledegment status code
  - Allowed values: `ACCC`, `RJCT`, `ACTC`, `PDNG`
- `description` (string, required) — Status code description - ACCC - Completed - RJCT - Rejected - ACTC - Accepted - PDNG - Pending

### FinalBeneficiaryValidationResponseDebtor

- `account` (string, optional) — Bank account held with CITI - For India UPI and IMPS,this field is mandatory and max length is 34 - For US EWS, this field is optional and max length is 40 - For UK, this field is optional and max length is 40 - For IN PAN, this field is optional and max length is 40 - For Pay2China, this field is mandatory and max length is 40
- `name` (string, optional) — Debtor Account Name. - For India IMPS and UPI ,this field is mandatory and max length is 99 - For US EWS,this field is optional and max length is 140 - For UK,this field is optional and max length is 140 - For IN PAN,this field is optional and max length is 140 - For Pay2China, this field is not applicable
- `proxy_id` (string, optional) — Remitter Proxy ID. - For India,this field is mandatory for UPI only and max length is 255 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `ultimate_debtor` (FinalBeneficiaryValidationResponseDebtorUltimateDebtor, optional)

### FinalBeneficiaryValidationResponseCreditor

- `id` (string, optional) — Creditor Id. - For IMPS India,this field is not applicable - For UPI India, this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable. - For Pay2China, this field is mandatory and the max length is 32
- `account` (string, optional) — Creditor Account Number. - For India IMPS ,this field is mandatory and max length is 34 - For India UPI ,this field is optional and max length is 34 - For US EWS,this field is conditional and max length is 17.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For UK,this field is conditional and max length is 17.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `name` (string, optional) — Creditor Account Name. - For India IMPS and UPI,this field is optional and max length is 99 - For US EWS,this field is optional and max length is 87. Please provide first middle(if any) last name in this sequence with spaces - For UK,this field is optional and max length is 87. Please provide first middle(if any) last name in this sequence with spaces - For IN PAN,this field is optional and max length is 85. Please provide first middle(if any) last name in this sequence with spaces - For Pay2China, this field is merchant name. It is a conditional field. It is mandatory for first time onboarding and max length is 128
- `father_name` (string, optional) — Creditor' Father's Name. - For India IMPS and UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is optional and max length is 75. Please provide first middle(if any) last name in this sequence with spaces - For Pay2China,this field is not applicable
- `bank_id` (string, optional) — Receiving Financial Institution BIC. - For India IMPS,this field is mandatory and length should be 11 - For India UPI ,this field is conditional(available for successful validation) and max length is 11 - For US EWS,this field is optional and length should be 9 if routing/clearing code is populated - For UK,this field is optional and length should be 8 or 11 character if bic (including branch code) is sent - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `bank_name` (string, optional) — Receiving Financial Institution Name. - For IMPS India,this field is not applicable - For UPI India,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this is not applicable
- `resolved_name` (string, optional) — Creditor name sent in beneficiary validation response. - For India IMPS and UPI,this field is mandatory and max length is 99 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `proxy_id` (string, optional) — Creditor Proxy ID - For India,this field is mandatory for UPI only and max length is 255 (UPI ID or Mobile number can be passed) - For US EWS,this field is conditional and max length is 17.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For UK,this field is conditional and max length is 17.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `proxy_type` (enum, optional) — Creditor Proxy type - For India,this field is optional for UPI - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - MBNO - Mobile Number - SHID - Scheme identification number (eg. VPA ID) - For Pay2China,this field is not applicable
  - Allowed values: `MBNO`, `SHID`
- `upi_id` (string, optional) — Resolved UPI Id for successful response - For India,this field is conditional for UPI only and max length is 255 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `wallet` (string, optional) — Creditor wallet details - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is conditional and max length is 17.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For UK,this field is conditional and max length is 17.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `IBAN` (string, optional) — Creditor IBAN number - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is conditional and max length is 17.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For UK,this field is conditional and max length is 34.Either creditor.account or creditor.proxy_id or creditor.wallet or creditor.IBAN should be passed by client - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `address_lines` (list of string, optional) — Creditor's address lines - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional and allowed 2 lines with each line max length of 40 - For UK, this field is optional and allowed 2 lines with each line max length of 40 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `street_name` (string, optional) — Creditor's street_name - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 70 - For UK, this field is optional with max length 70 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `building_number` (string, optional) — Creditor's building_number - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 16 - For UK, this field is optional with max length 16 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `postal_code` (string, optional) — Creditor's postal_code - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 10 - For UK, this field is optional with max length 16 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `city` (string, optional) — Creditor's city - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 25 - For UK, this field is optional with max length 35 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `state` (string, optional) — Creditor's state - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 25 - For UK, this field is optional with max length 35 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `country` (string, optional) — Creditor's country - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 2 - For UK, this field is optional with max length 2 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `birth_date` (date, optional) — ISO 8601 (YYYY-MM-DD), Creditor's birth date - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional - For UK, this field is optional - For IN PAN, this field is optional - For Pay2China,this field is not applicable
- `home_phone_number` (string, optional) — Creditor's home phone number - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 10 - For UK, this field is optional with max length 34 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
- `work_phone_number` (string, optional) — Creditor's work phone number - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 10 - For UK, this field is optional with max length 34 - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `beneficial_owner` (FinalBeneficiaryValidationResponseCreditorBeneficialOwner, optional)
- `document` (FinalBeneficiaryValidationResponseCreditorDocument, optional)

### FinalBeneficiaryValidationResponseTransaction

- `purpose` (string, optional) — Purpose of payment. - For India IMPS and UPI, this field is conditional and applicable only for penny transaction and max length is 4 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `type` (string, optional) — Derived value based on method of Payment - For India IMPS and UPI, this field is conditional and applicable only for penny transaction and max length is 8 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `value_date` (date, optional) — Mapped with Value Date when Penny requested is created by XPay Format: YYYY-MM-DD - For India IMPS and UPI, this field is conditional and applicable only for penny transaction - Date in local time zone (e.g., IST for a India) when Citi's transaction processing application starts processing a transaction.Format is YYYY-MM-DD Populate the present date in local timezone - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `instructed_amount` (string, optional) — Instructed Amount. - For India IMPS and UPI, this field is conditional and applicable only for penny transaction and max length is 17 - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `unstructured_remittance_info` (list of string, optional) — Unstructured Remitter Information - For India IMPS and UPI, this field is conditional and applicable only for penny transaction where two lines at max allowed. 1st line to have max 35 chars, 2nd line to have a max of 15 chars. Max length for this tag is 50 chars - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable
- `batch_id` (string, optional) — Posting Batch ID (Bulk Reference Number) - For India IMPS and UPI, this field is conditional and applicable only for penny transaction - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable

### FinalBeneficiaryValidationResponseReasons

- `code` (string, optional) — Reason code (applicable when request is rejected/status.code = RJCT) - For Pay2China, local regulatory error code should be sent to client. 2201, 2202, 2203, 2204, 2205, 2206, 9000, 9001, 9007, 9019, 9042
- `description` (string, optional) — Reason code description * For Pay2China, local regulatory error code should be sent to client. 2201 - corporate merchant not qualified, 2202 - merchant id verification failed, 2203 - individual merchant not qualified, 2204 - merchant validation failed (Internal), 2205 - account name of the payee error, 2206 - Merchant Frozen, 9000 - request parameter \[] cannot be empty, 9001 - request parameter \[] format error, 9007 - request parameter \[] is too long, 9019 - request parameter \[] already exist, 9042 platform not exist or invalid

### FinalBeneficiaryValidationResponseResponse

- `type` (enum, optional) — Validation based on historic or real time data - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is mandatory - For UK,this field is mandatory - For IN PAN,this field is mandatory - For Pay2China, this field is not applicable - HR - Validation based on Historic Data if we don’t have a real time data - RT- Validation based on real time data and data source is present - ERROR - Erroneous issue
  - Allowed values: `HR`, `RT`, `ERROR`
- `data_date_time` (datetime, optional) — Contains the provider datetime else current Datetime in UTC (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is mandatory - For UK,this field is mandatory - For IN PAN,this field is mandatory - For Pay2China, this field is mandatory
- `validation_risk_score` (enum, optional) — Risk appetite of utilizing this account. This field will be populated only in case of reponse.type = HR - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US,this field is conditional - For UK,this field is conditional - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable - HIGH - There is high risk the data subject to validations is inaccurate as per the source. - MEDIUM - There is moderate risk the data subject to validations is inaccurate as per the source. - LOW- There is Low risk the data subject to validations is inaccurate as per the source. - UNKNOWN- The risk is unknown.
  - Allowed values: `HIGH`, `MEDIUM`, `LOW`, `UNKNOWN`, `NA`
- `account` (FinalBeneficiaryValidationResponseResponseAccount, optional)
- `iban` (FinalBeneficiaryValidationResponseResponseIban, optional)
- `txid` (FinalBeneficiaryValidationResponseResponseTxid, optional)
- `mxid` (FinalBeneficiaryValidationResponseResponseMxid, optional)

### Error-Detail

- `issue` (string, optional) — more details about the issue
- `action` (string, optional) — corrective action to be taken to resolve above issue
- `code` (string, optional) — unique code representing the issue

### FinalBeneficiaryValidationResponseDebtorUltimateDebtor

- `name` (string, optional) — Ultimate debtor name. - For IMPS India,this field is not applicable - For UPI India,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For Pay2China, this field is not applicable
- `account` (string, optional) — Beneficiary Owner Id/Legal Rep id. - For IMPS India,this field is not applicable - For UPI India,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is not applicable - For Pay2China, this field is mandatory and the max length is 35

### FinalBeneficiaryValidationResponseCreditorBeneficialOwner

- `name` (string, optional) — Beneficiary Owner Name/Legal Rep name. - For IMPS India,this field is not applicable - For UPI India,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For Pay2China, this field is not applicable
- `id` (string, optional) — Beneficiary Owner Id/Legal Rep id. - For IMPS India,this field is not applicable - For UPI India,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For Pay2China, this field is not applicable

### FinalBeneficiaryValidationResponseCreditorDocument

- `entity` (enum, optional) — Whether the document belongs to Business or Individual - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is optional - For UK,this field is optional - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable
  - Allowed values: `BUSINESS`, `PERSONAL`
- `type` (enum, optional) — Whether the document belongs to Business or Individual - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is optional - For UK,this field is optional - For IN PAN,this field is optional - For Pay2China,this field is not applicable - Personal Code values - ARNU AlienRegistrationNumber - CCPT PassportNumber - CUST CustomerIdentificationNumber - DRLC DriversLicenseNumber - EMPL EmployeeIdentificationNumber - NIDN NationalIdentityNumber - SOSE SocialSecurityNumber - TELE TelephoneNumber - TXID TaxIdentificationNumber - POID PersonCommercialIdentification - Corporate Code values - BANK BankPartyIdentification - CBID Central Bank Identification Number - CHID Clearing Identification Number - COID CountryIdentificationCode - CUST CustomerNumber - DUNS Data Universal Numbering System - EMPL EmployerIdentificationNumber - GS1G GS1GLNIdentifier - SREN SIREN - SRET SIRET - TXID Tax Identification Number
  - Allowed values: `ARNU`, `CCPT`, `CUST`, `DRLC`, `EMPL`, `NIDN`, `SOSE`, `TELE`, `TXID`, `POID`, `BANK`, `CBID`, `CHID`, `COID`, `DUNS`, `GS1G`, `SREN`, `SRET`
- `number` (string, optional) — Creditor's document number - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 28 - For UK, this field is optional with max length 35 - For IN PAN,this field is optional with max length 10 - For Pay2China,this field is not applicable
- `state` (string, optional) — Creditor's document state - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS, this field is optional with max length 6 - For UK, this field is optional with max length 35 - For IN PAN,this field is not applicable - For Pay2China,this field is not applicable

### FinalBeneficiaryValidationResponseResponseAccount

- `number_validation` (enum, optional) — Account validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is conditional - For UK,this field is conditional - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable - MATCH - Validation based on account is a match - MISMATCH - Validation based on account is a mismatch - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `NA`
- `name_validation` (enum, optional) — Name validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is conditional - For UK,this field is conditional - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable - MATCH - Validation based on name is a match - MISMATCH - Validation based on name is a mismatch - PARTIALMATCH - Validation based on name is a partial match - NOTCHECKED - Validation not checked - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `PARTIALMATCH`, `NA`, `NOTCHECKED`
- `address_validation` (enum, optional) — Address validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is conditional - For UK,this field is conditional - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable - MATCH - Validation based on address is a match - MISMATCH - Validation based on address is a mismatch - PARTIALMATCH - Validation based on address is a partial match - NOTCHECKED - Validation not checked - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `PARTIALMATCH`, `NA`, `NOTCHECKED`
- `phone_validation` (enum, optional) — Phone number validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is conditional - For UK,this field is conditional - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable - MATCH - Validation based on phone number is a match - MISMATCH - Validation based on phone number is a mismatch - PARTIALMATCH - Validation based on phone number is a partial match - NOTCHECKED - Validation not checked - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `PARTIALMATCH`, `NA`, `NOTCHECKED`

### FinalBeneficiaryValidationResponseResponseIban

- `structure_validation` (enum, optional) — IBAN mod 97 structure validation - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is conditional - For UK,this field is conditional - For IN PAN,this field is not applicable - For Pay2China, this field is not applicable - MATCH - Validation based on mod 97 is a match - MISMATCH - Validation based on mod 97 is a mismatch - NOTCHECKED - Validation not checked - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `NA`, `NOTCHECKED`

### FinalBeneficiaryValidationResponseResponseTxid

- `number_validation` (enum, optional) — Document number validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is conditional - For Pay2China, this field is not applicable - MATCH - Validation based on document number is a match - MISMATCH - Validation based on document number is a mismatch - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `NA`
- `name_validation` (enum, optional) — Document name validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is conditional - For Pay2China, this field is not applicable - MATCH - Validation based on document name is a match - MISMATCH - Validation based on document name is a mismatch - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `NA`
- `father_name_validation` (enum, optional) — Document father's name validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is conditional - For Pay2China, this field is not applicable - MATCH - Validation based on document father's name is a match - MISMATCH - Validation based on document father's name is a mismatch - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `NA`
- `date_of_birth_validation` (enum, optional) — Date of birth validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is conditional - For Pay2China, this field is not applicable - MATCH - Validation based on date of birth is a match - MISMATCH - Validation based on date of birth is a mismatch - NA - Validation is not applicable
  - Allowed values: `MATCH`, `MISMATCH`, `NA`
- `status` (enum, optional) — Status of the tax id document - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is conditional - For Pay2China, this field is not applicable - E- EXISTING AND VALID - F - Marked as Fake - X - Marked as Deactivated - D - Deleted - N - Record (PAN) Not Found in ITD Database/Invalid PAN - EA - Existing and Valid but event marked as Amalgamation in ITD database - EC - Existing and Valid but event marked as Acquisition in ITD database - ED - Existing and Valid but event marked as Death in ITD database - EI - Existing and Valid but event marked as Dissolution in ITD database - EL - Existing and Valid but event marked as Liquidated in ITD database - EM - Existing and Valid but event marked as Merger in ITD database - EP - Existing and Valid but event marked as Partition in ITD database - ES - Existing and Valid but event marked as Split in ITD database - EU - Existing and Valid but event marked as Under Liquidation in ITD database - NA - Validation is not applicable
  - Allowed values: `E`, `F`, `X`, `D`, `N`, `EA`, `EC`, `ED`, `EI`, `EL`, `EM`, `EP`, `ES`, `EU`, `NA`
- `seeding_status` (enum, optional) — Seeding status from underlying services - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is conditional - For Pay2China, this field is not applicable - Y – Operative PAN - R - Inoperative PAN - NA -For all non-Individual PAN
  - Allowed values: `Y`, `R`, `NA`

### FinalBeneficiaryValidationResponseResponseMxid

- `number_validation` (enum, optional) — Document number validation result - For India IMPS,this field is not applicable - For India UPI,this field is not applicable - For US EWS,this field is not applicable - For UK,this field is not applicable - For IN PAN,this field is conditional - For Pay2China, this field is mandatory - MATCH - Validation based on document number is a match - MISMATCH - Validation based on document number is a mismatch - NA - for other than MATCH/MISMATCH status from ECO
  - Allowed values: `MATCH`, `MISMATCH`

## Examples

### IN IMPS Final Beneficiary Validation Response Non Penny

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "IMPS",
    "type": "AER",
    "country": "IN",
    "network": "IMPS",
    "penny_test": "NONPENNY"
  },
  "status": {
    "date_time": "2023-01-10T08:59:12.489Z",
    "code": "ACCC",
    "description": "Completed"
  },
  "end_to_end_id": "r/434SKtUcd01",
  "debtor": {
    "account": "927393038"
  },
  "creditor": {
    "account": "927393908",
    "name": "Mathew",
    "resolved_name": "Simon"
  },
  "creation_date_time": "2023-09-11T08:23:49.112Z",
  "network_id": "209323283934",
  "local_reference": "7634an78543"
}
```

**SDK Code**

```python IN IMPS Final Beneficiary Validation Response Non Penny
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript IN IMPS Final Beneficiary Validation Response Non Penny
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go IN IMPS Final Beneficiary Validation Response Non Penny
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby IN IMPS Final Beneficiary Validation Response Non Penny
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java IN IMPS Final Beneficiary Validation Response Non Penny
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php IN IMPS Final Beneficiary Validation Response Non Penny
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp IN IMPS Final Beneficiary Validation Response Non Penny
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift IN IMPS Final Beneficiary Validation Response Non Penny
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### IN IMPS Final Beneficiary Validation Response Penny

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "IMPS",
    "type": "AER",
    "country": "IN",
    "network": "IMPS",
    "instructed_currency": "INR",
    "penny_test": "PENNY"
  },
  "status": {
    "date_time": "2023-01-10T08:59:12.489Z",
    "code": "ACCC",
    "description": "Completed"
  },
  "end_to_end_id": "r/434SKtUcd01",
  "debtor": {
    "account": "927393038"
  },
  "creditor": {
    "account": "927393908",
    "name": "Mathew",
    "resolved_name": "Simon"
  },
  "transaction": {
    "purpose": "SALA",
    "type": "debit",
    "value_date": "2024-02-23",
    "instructed_amount": "1",
    "unstructured_remittance_info": [
      "Penny Testing for <End_to_End_ID>"
    ],
    "batch_id": "1234"
  },
  "creation_date_time": "2023-09-11T08:23:49.112Z",
  "network_id": "209323283934",
  "local_reference": "7634an78543"
}
```

**SDK Code**

```python IN IMPS Final Beneficiary Validation Response Penny
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript IN IMPS Final Beneficiary Validation Response Penny
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go IN IMPS Final Beneficiary Validation Response Penny
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby IN IMPS Final Beneficiary Validation Response Penny
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java IN IMPS Final Beneficiary Validation Response Penny
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php IN IMPS Final Beneficiary Validation Response Penny
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp IN IMPS Final Beneficiary Validation Response Penny
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift IN IMPS Final Beneficiary Validation Response Penny
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### UPI IN Final Beneficiary Validation Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "UPI",
    "type": "AER",
    "country": "IN",
    "network": "UPI"
  },
  "status": {
    "date_time": "2023-01-10T08:59:12.489Z",
    "code": "ACCC",
    "description": "Completed"
  },
  "end_to_end_id": "r/434SKtUcd01",
  "debtor": {
    "proxy_id": "lbem0028@citibank"
  },
  "creditor": {
    "name": "Mathew",
    "resolved_name": "Simon",
    "proxy_id": "lbem0028@citibank"
  },
  "creation_date_time": "2023-09-11T08:23:49.112Z",
  "network_id": "209323283934",
  "local_reference": "7634an78543"
}
```

**SDK Code**

```python UPI IN Final Beneficiary Validation Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript UPI IN Final Beneficiary Validation Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go UPI IN Final Beneficiary Validation Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby UPI IN Final Beneficiary Validation Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java UPI IN Final Beneficiary Validation Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php UPI IN Final Beneficiary Validation Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp UPI IN Final Beneficiary Validation Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift UPI IN Final Beneficiary Validation Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### UPI IN Mobile Number Final Beneficiary Validation Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "UPI",
    "type": "AER",
    "country": "IN",
    "network": "UPI"
  },
  "status": {
    "date_time": "2023-01-10T08:59:12.489Z",
    "code": "ACCC",
    "description": "Completed"
  },
  "end_to_end_id": "r/434SKtUcd01",
  "debtor": {
    "account": "927393038",
    "name": "John",
    "proxy_id": "lbem0028@citibank"
  },
  "creditor": {
    "account": "927393908",
    "name": "Mathew",
    "bank_id": "FGHJ0985026",
    "resolved_name": "Simon",
    "proxy_id": "9809056489",
    "proxy_type": "MBNO",
    "upi_id": "urik@okaxil"
  },
  "creation_date_time": "2023-09-11T08:23:49.112Z",
  "network_id": "209323283934",
  "local_reference": "7634an78543"
}
```

**SDK Code**

```python UPI IN Mobile Number Final Beneficiary Validation Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript UPI IN Mobile Number Final Beneficiary Validation Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go UPI IN Mobile Number Final Beneficiary Validation Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby UPI IN Mobile Number Final Beneficiary Validation Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java UPI IN Mobile Number Final Beneficiary Validation Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php UPI IN Mobile Number Final Beneficiary Validation Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp UPI IN Mobile Number Final Beneficiary Validation Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift UPI IN Mobile Number Final Beneficiary Validation Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "UPI",
    "type": "AER",
    "country": "IN",
    "network": "UPI",
    "instructed_currency": "INR"
  },
  "status": {
    "date_time": "2023-01-10T08:59:12.489Z",
    "code": "ACCC",
    "description": "Completed"
  },
  "end_to_end_id": "r/434SKtUcd01",
  "debtor": {
    "account": "927393038",
    "name": "John",
    "proxy_id": "lbem0028@citibank"
  },
  "creditor": {
    "account": "927393908",
    "name": "Mathew",
    "bank_id": "FGHJ0985026",
    "resolved_name": "Simon",
    "proxy_id": "9809056489",
    "proxy_type": "MBNO",
    "upi_id": "urik@okaxil"
  },
  "transaction": {
    "purpose": "SALA",
    "type": "debit",
    "value_date": "2024-02-23",
    "instructed_amount": "1",
    "unstructured_remittance_info": [
      "Penny Testing for <End_to_End_ID>"
    ],
    "batch_id": "1234"
  },
  "creation_date_time": "2023-09-11T08:23:49.112Z",
  "network_id": "209323283934",
  "local_reference": "7634an78543"
}
```

**SDK Code**

```python UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift UPI IN Mobile Number Final Beneficiary Validation Penny Testing Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### UPI IN UPI ID Final Beneficiary Validation Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "UPI",
    "type": "AER",
    "country": "IN",
    "network": "UPI"
  },
  "status": {
    "date_time": "2023-01-10T08:59:12.489Z",
    "code": "ACCC",
    "description": "Completed"
  },
  "end_to_end_id": "r/434SKtUcd01",
  "debtor": {
    "account": "927393038",
    "name": "John",
    "proxy_id": "lbem0028@citibank"
  },
  "creditor": {
    "account": "927393908",
    "name": "Mathew",
    "bank_id": "FGHJ0985026",
    "resolved_name": "Simon",
    "proxy_id": "hailey21@okbank",
    "proxy_type": "SHID",
    "upi_id": "urik@okaxil"
  },
  "creation_date_time": "2023-09-11T08:23:49.112Z",
  "network_id": "209323283934",
  "local_reference": "7634an78543"
}
```

**SDK Code**

```python UPI IN UPI ID Final Beneficiary Validation Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript UPI IN UPI ID Final Beneficiary Validation Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go UPI IN UPI ID Final Beneficiary Validation Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby UPI IN UPI ID Final Beneficiary Validation Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java UPI IN UPI ID Final Beneficiary Validation Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php UPI IN UPI ID Final Beneficiary Validation Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp UPI IN UPI ID Final Beneficiary Validation Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift UPI IN UPI ID Final Beneficiary Validation Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### US EWS Final Beneficiary Validation Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "BANKACCOUNT",
    "type": "AER",
    "country": "IN"
  },
  "status": {
    "date_time": "2024-01-15T09:30:00Z",
    "code": "ACCC",
    "description": "string"
  },
  "creditor": {
    "account": "927393445"
  },
  "response": {
    "type": "HR",
    "data_date_time": "2023-09-10T08:23:49.112Z",
    "validation_risk_score": "HIGH",
    "account": {
      "number_validation": "MATCH",
      "name_validation": "MATCH"
    },
    "creation_date_time": "2023-05-02T08:23:49.554Z",
    "status": {
      "code": "ACCC",
      "date_time": "2024-09-10T08:23:49.112Z",
      "description": "Completed"
    }
  }
}
```

**SDK Code**

```python US EWS Final Beneficiary Validation Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript US EWS Final Beneficiary Validation Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go US EWS Final Beneficiary Validation Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby US EWS Final Beneficiary Validation Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java US EWS Final Beneficiary Validation Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php US EWS Final Beneficiary Validation Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp US EWS Final Beneficiary Validation Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift US EWS Final Beneficiary Validation Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### UK Final Beneficiary Validation Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667656f",
  "method": {
    "method": "BANKACCOUNT",
    "type": "AER",
    "country": "IN"
  },
  "status": {
    "date_time": "2024-01-15T09:30:00Z",
    "code": "ACCC",
    "description": "string"
  },
  "creditor": {
    "account": "927393445"
  },
  "response": {
    "type": "HR",
    "data_date_time": "2023-09-10T08:23:49.112Z",
    "validation_risk_score": "HIGH",
    "account": {
      "number_validation": "MATCH",
      "name_validation": "MATCH"
    },
    "creation_date_time": "2023-05-02T08:23:49.554Z",
    "status": {
      "code": "ACCC",
      "date_time": "2024-09-10T08:23:49.112Z",
      "description": "Completed"
    }
  }
}
```

**SDK Code**

```python UK Final Beneficiary Validation Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript UK Final Beneficiary Validation Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go UK Final Beneficiary Validation Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby UK Final Beneficiary Validation Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java UK Final Beneficiary Validation Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php UK Final Beneficiary Validation Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp UK Final Beneficiary Validation Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift UK Final Beneficiary Validation Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### IN PAN Final Validation Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667624c",
  "method": {
    "method": "ID",
    "type": "AER",
    "country": "IN"
  },
  "status": {
    "date_time": "2024-01-15T09:30:00Z",
    "code": "ACCC",
    "description": "string"
  },
  "creditor": {
    "document": {
      "number": "WERHJ9012B"
    }
  },
  "response": {
    "type": "HR",
    "data_date_time": "2023-09-10T08:23:49.112Z",
    "txid": {
      "number_validation": "MATCH",
      "name_validation": "MATCH",
      "father_name_validation": "MATCH",
      "date_of_birth_validation": "MATCH",
      "status": "E",
      "seeding_status": "Y"
    },
    "creation_date_time": "2023-05-02T08:23:49.554Z",
    "status": {
      "code": "ACCC",
      "date_time": "2024-09-10T08:23:49.112Z",
      "description": "Completed"
    }
  }
}
```

**SDK Code**

```python IN PAN Final Validation Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript IN PAN Final Validation Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go IN PAN Final Validation Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby IN PAN Final Validation Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java IN PAN Final Validation Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php IN PAN Final Validation Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp IN PAN Final Validation Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift IN PAN Final Validation Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Pay2China Final Validation Positive Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667222f",
  "method": {
    "method": "MERCHANTID",
    "type": "Ownership",
    "country": "CN"
  },
  "status": {
    "date_time": "2024-09-10T08:23:49.112Z",
    "code": "ACCC",
    "description": "Completed"
  },
  "debtor": {
    "account": "P39023128",
    "name": "Das",
    "ultimate_debtor": {
      "name": "Ethan",
      "account": "403653000011"
    }
  },
  "creditor": {
    "id": "M20220520100001",
    "work_phone_number": "19988886666",
    "beneficial_owner": {
      "name": "Dino",
      "id": "330001202219817200"
    },
    "document": {
      "entity": "BUSINESS",
      "type": "EMPL",
      "number": "91330100799655058B"
    }
  },
  "creation_date_time": "2024-09-10T08:23:49.111Z",
  "response": {
    "data_date_time": "2023-09-10T08:23:49.112Z",
    "mxid": {
      "number_validation": "MATCH"
    }
  }
}
```

**SDK Code**

```python Pay2China Final Validation Positive Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Pay2China Final Validation Positive Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Pay2China Final Validation Positive Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Pay2China Final Validation Positive Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Pay2China Final Validation Positive Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Pay2China Final Validation Positive Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Pay2China Final Validation Positive Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Pay2China Final Validation Positive Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Pay2China Final Validation Negative Response

**Response**

```json
{
  "uetr": "921a9445-97df-4118-9a55-68d14667222f",
  "method": {
    "method": "MERCHANTID",
    "type": "Ownership",
    "country": "CN"
  },
  "status": {
    "date_time": "2024-09-10T08:23:49.111Z",
    "code": "RJCT",
    "description": "Rejected"
  },
  "debtor": {
    "account": "P39023128",
    "name": "Das",
    "ultimate_debtor": {
      "name": "Ethan",
      "account": "403653000011"
    }
  },
  "creditor": {
    "id": "M20220520100001",
    "work_phone_number": "19988886666",
    "beneficial_owner": {
      "name": "Dino",
      "id": "330001202219817200"
    },
    "document": {
      "entity": "BUSINESS",
      "type": "EMPL",
      "number": "91330100799655058B"
    }
  },
  "creation_date_time": "2024-09-10T08:23:49.112Z",
  "reasons": {
    "code": "9001",
    "description": "request parameter [creditor.beneficial_owner_id] format error"
  },
  "response": {
    "data_date_time": "2023-09-10T08:23:49.112Z",
    "mxid": {
      "number_validation": "MISMATCH"
    }
  }
}
```

**SDK Code**

```python Pay2China Final Validation Negative Response
import requests

url = "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a"

querystring = {"client_id":"6d3cf821-db6d-496d-bec0-064a362e9c31"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Pay2China Final Validation Negative Response
const url = 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Pay2China Final Validation Negative Response
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Pay2China Final Validation Negative Response
require 'uri'
require 'net/http'

url = URI("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Pay2China Final Validation Negative Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Pay2China Final Validation Negative Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Pay2China Final Validation Negative Response
using RestSharp;

var client = new RestClient("https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Pay2China Final Validation Negative Response
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.api.icg.citi.com/citiconnect/prod/paymentservices/v1/beneficiaryvalidations/0c4fb98b-d77a-4468-96bb-0c88b3b8f75a?client_id=6d3cf821-db6d-496d-bec0-064a362e9c31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```