> 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.

# Payment Status Inquiry Enhanced

POST https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry
Content-Type: application/json

This API returns details of your transactions for both Incoming and Outgoing payments based on specified parameters.\<font size='2'>Content-Type : Supports application/json.

Reference: https://citi-demo.ferndocs.com/enterprises/api-reference/payment-services/payments/enhanced-payment-status-inquiry/payment-status-inquiry

## 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.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3` (production gateway URL, default)
- `https://tts.sandbox.apib2b.citi.com/citiconnect/sb/paymentservices/v3` (sandbox URL)

## Request

### Query parameters

- `client_id` (string, required) — This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation

### Headers

- `Authorization` (string, required) — Oauth token used to authenticate the user. This token is short lived, so make sure valid token used.
- `Accept` (string, required) — This header represents the format in which the response output is needed. I.e. Input will be application/json;format=PSRJ03

### Body (application/json)

This endpoint expects an EnhancedRequest.

- `uetr` (string, optional) — Input UETR number. Unique EndtoEnd Transaction Reference identification assigned by the initiating party or payment processing bank to uniquely identify the transaction. 36 characters, made up to 32 hexadecimal characters, shown in five parts divided by hyphens/dashes as follows - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Please provide either of uetr or end_to_end_identification.
- `end_to_end_identification` (string, optional) — Unique identification assigned by the initiating party to clearly identify the transaction. This Identification is passed on, unchanged, throughout the entire end-to-end chain. Please provide either of uetr or end_to_end_identification.
- `transaction_flow_indicator` (string, optional) — This value indicates whether the transaction is a Credit or debit with the values CR or DR respectively. For Debit Transaction inquiry, this input is not required as by default Sytem will consider the query to be Debit. However for Credit Transaction inquiry this must be inputted as CR. Debit account number should be specified for outgoing transaction.Credit account number should be specified for incoming transaction

## Response

### 200

OK. successful operation response

- `created_date_time` (string, required) — Date & time(format YYYY-MM-DDThh:mm:ss.sssZ) when this particular of transaction status is captured. A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601. Note on the time format: 1) beginning / end of calendar day 00:00:00 = the beginning of a calendar day 24:00:00 = the end of a calendar day 2) fractions of second in time format Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
- `transactions` (list of PaymentTransaction, optional) — Information about a each transaction. It is repeated as many times as there are transactions to be returned.

## Errors

### 400 Bad Request Error

Bad Request

- `error` (list of error_detail, optional)
- `errors` (list of error_detail, optional)

### 401 Unauthorized Error

Unauthorized

- `httpCode` (string, optional) — Numeric HTTP Staus code
- `httpMessage` (string, optional) — HTTP error message
- `moreInformation` (string, optional) — HTTP error message

### 404 Not Found Error

Not Found

- `httpCode` (string, optional) — Numeric HTTP Staus code
- `httpMessage` (string, optional) — HTTP error message
- `moreInformation` (string, optional) — HTTP error message

### 405 Method Not Allowed Error

Method Not Allowed

- `httpCode` (string, optional) — Numeric HTTP Staus code
- `httpMessage` (string, optional) — HTTP error message
- `moreInformation` (string, optional) — HTTP error message

### 415 Unsupported Media Type Error

Unsupported Media Type

- `httpCode` (string, optional) — Numeric HTTP Staus code
- `httpMessage` (string, optional) — HTTP error message
- `moreInformation` (string, optional) — HTTP error message

### 429 Too Many Requests Error

Too Many Requests

- `httpCode` (string, optional) — Numeric HTTP Staus code
- `httpMessage` (string, optional) — HTTP error message
- `moreInformation` (string, optional) — HTTP error message

### 500 Internal Server Error

Internal Server Error

- `error` (list of error_detail, optional)
- `errors` (list of error_detail, optional)

### 503 Service Unavailable Error

Service Unavailable

- `error` (list of error_detail, optional)
- `errors` (list of error_detail, optional)

### 504 Gateway Timeout Error

Gateway Timeout

- `error` (list of error_detail, optional)
- `errors` (list of error_detail, optional)

## Types

### PaymentTransaction

Contains the details on the payment transaction.

- `uetr` (string, required) — string of unique characters attached to payment messages,designed to provide complete transparency for all parties in a payment. It identifies the payment resource.
- `service_type_indicator` (string, required) — It indicates whether the transaction is credit or debit. Possible values for credit 007 and for debit 003.
- `transaction_status` (PaymentTransactionTransactionStatus, required) — Indicates the payment transaction status and optionally the reason for that status.
- `instructed_amount` (ActiveOrHistoricCurrencyAndAmount, required) — A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217
- `confirmed_amount` (PaymentTransactionConfirmedAmount, required) — A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217
- `debtor` (PartyIdentification, required) — Party that owes an amount of money to the (ultimate) creditor.
- `debtor_account` (CashAccount, required) — Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction
- `debtor_agent` (PartyAgent, required) — Financial institution servicing an account for the debtor.
- `creditor` (PartyIdentificationCreditor, required) — Creditor is the Party to which an amount of money is due.
- `creditor_account` (CashAccount, required) — Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.
- `creditor_agent` (PartyAgent, required) — Financial institution servicing an account for the creditor.
- `payment_event` (list of PaymentEventDetail, required) — Information about an event which is a payment message or status confirmation update. It is repeated as many times as there are events to be returned.
- `end_to_end_identification` (string, optional) — Unique identification assigned by the initiating party to unambiguously identify the transaction
- `instruction_identification` (string, optional) — Contains Payer Company's Transaction ID. Its a Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction
- `account_servicer_reference` (string, optional) — It contains Citi Transaction Reference Number. Its Internal Citi's product processors's reference number to track the transaction
- `clearing_system_reference` (string, optional) — Information used to identify a member within a clearing system.Contain FMI ISO name code, FMI Reference number.eg - FDW/20200102B1Q1234C123456
- `event_time` (string, optional) — Time(format YYYY-MM-DDThh:mm:ss.sssZ) when the transaction had taken place
- `originator` (string, optional) — Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362 2014 Banking Banking telecommunication messages - Business identifier code (BIC)
- `request_execution_date` (string, optional) — Date at which the initiating party requests the clearing agent to process the payment.
- `unstructured_remittance_information` (list of string, optional) — Contains Remittance Information or Payment details. Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in a structured form.

### error_detail

- `action` (string, optional) — correction action needs to be done
- `issue` (string, optional) — more details about the issue

### PaymentTransactionTransactionStatus

Indicates the payment transaction status and optionally the reason for that status.

- `status` (enum, optional) — Specifies the status of a transaction, in a coded form. Possible Values - ACCP/ACSC/ACSP/ACCC/RJCT. ACCC (Accepted Credit Settlement Completed). Settlement on the creditors account has been completed ACSC (Accepted Settlement Completed), Settlement on the debtors account has been completed ACSP (Accepted Settlement In Process), All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution PDNG (Pending), Payment or individual transaction included in the payment is pending. Further checks and status update will be performed RJCT (Rejected), Payment initiation or individual transaction included in the payment initiation has been rejected
  - Allowed values: `ACCP`, `ACSC`, `ACSP`, `ACCC`, `RJCT`
- `status_reason_information` (list of StatusReasonInformation, optional) — Information about a each transaction. It is repeated as many times as there are transactions to be returned.

### ActiveOrHistoricCurrencyAndAmount

A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.

- `amount` (string, required) — a number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with iso 4217.
- `currency` (string, required) — A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217

### PaymentTransactionConfirmedAmount

A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217

- `amount` (string, required) — Its a Final confirmed amount after dedcution of charges.A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with iso 4217.
- `currency` (string, optional) — Its a Final Confirmed currency. A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217

### PartyIdentification

Specifies the identification of a person or an organisation.

- `any_bic` (string, required) — Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC).
- `address_line` (list of string, optional) — Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
- `country` (string, optional) — Nation with its own government.
- `country_sub_division` (string, optional) — Identifies a subdivision of a country such as state, region, county
- `identification` (string, optional) — Other identification maintained apart from BIC.
- `name` (string, optional) — Name by which a party is known and which is usually used to identify that party.
- `postal_code` (string, optional) — Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
- `town` (string, optional) — Name of a built-up area, with defined boundaries, and a local government.Its a Debtors Town Name.

### CashAccount

Provides the details to identify an account.

- `identification` (AccountIdentification47Choice, required) — Specifies the unique identification of an account as assigned by the account servicer.

### PartyAgent

- `clearing_code` (string, required) — Identification of a clearing system, in a coded form as published in an external list.Routing Code of debtor bank (Other Bank) for Debtor OR beneficiary bank (Citi Bank) for Creditor - if Non BIC
- `any_bic` (string, optional) — Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)
- `branch_id` (string, optional) — Identifies a specific branch of a financial institution.It Contains the Party's accout branch number

### PartyIdentificationCreditor

Specifies the identification of a person or an organisation.

- `address_line` (list of string, optional) — Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
- `any_bic` (string, optional) — Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC).
- `country` (string, optional) — Nation with its own government.
- `country_sub_division` (string, optional) — Identifies a subdivision of a country such as state, region, county
- `identification` (string, optional) — Other identification maintained apart from BIC.
- `name` (string, optional) — Name by which a party is known and which is usually used to identify that party.
- `postal_code` (string, optional) — Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
- `town` (string, optional) — Name of a built-up area, with defined boundaries, and a local government.Its a Debtors Town Name.

### PaymentEventDetail

This groups the information of an event, namely of a payment message or status confirmation update. Usage: It is repeated as many times as there are events to be returned.

- `charge_amount` (ActiveOrHistoricCurrencyAndAmount, required) — A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.
- `charge_bearer` (enum, required) — Specifies which party/parties will bear the charges associate with the processing of the payment transaction. Charge bearer details DEBT/CRED/SHAR/SLEV. DEBT - All transaction charges are to be borne by the debtor. CRED - All transaction charges are to be borne by the creditor. SHAR - In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor. SLEV - Charges are to be applied following the rules agreed in the service level and/or scheme.
  - Allowed values: `DEBT`, `CRED`, `SHAR`, `SLEV`
- `date_time` (string, required) — Time(format YYYY-MM-DDThh:mm:ss.sssZ) when this particular instance of the payment is captured in SWIFT GPI
- `from` (string, required) — BIC of the source bank. Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014
- `to` (string, required) — BIC of the destination bank. Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014
- `additional_remittance_information` (AddtlRemInf, optional) — Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.
- `foreign_exchange_details` (CurrencyExchange, optional) — Contains the set of elements used to provide details of the currency exchange

### StatusReasonInformation

- `reason` (string, required) — specifies the status reason code. Value like MS03, AC01 (will be populated only in case of rejection/returns at debit side)
- `reason_description` (list of string, optional) — specifies the status reason description.Details about the payment information.
- `type` (list of string, optional) — Describe the type. Value like RETN (will be populated only in case of rejection/returns at debit side)

### AccountIdentification47Choice

Specifies the unique identification of an account as assigned by the account servicer.

- `iban` (string, required) — International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer
- `identification` (string, required) — It is assigned for making a payment to an account that doesn't have an IBAN

### AddtlRemInf

- `credit_virtual_account` (string, required) — a system generated unique account number which is based on logic and masks the original account number
- `payment_contract` (string, required) — A payment agreement contract is a legally binding document between two parties � the lender and the borrower, this include info how payments will be made
- `payment_method` (string, required) — The way one pays for a transaction - ACH, Book Transfer, etc.
- `return_account` (string, required) — Account number which is dedicated to track all transactions for returns
- `return_charge_currency` (string, required) — A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 Codes for the representation of currencies and funds
- `return_currency` (string, required) — A code allocated to a currency for return by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 Codes for the representation of currencies and funds
- `return_exchange_rate` (string, required) — specifies the factor used to convert an amount from one currency into another. this reflects the price at which one currency was bought with another currency. usage: exchangerate expresses the ratio between unitcurrency and quotedcurrency (exchangerate = unitcurrency/quotedcurrency).
- `return_source_currency` (string, required) — A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 Codes for the representation of currencies and funds
- `confidential` (string, optional) — Indicates whether the confidential by Yes or No
- `debit_virtual_account` (string, optional) — a system generated unique account number which is based on logic and masks the original account number'
- `return_amount` (string, optional) — Return Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
- `return_charge_amount` (list of string, optional) — Transaction charges to be paid by the charge bearer during return
- `return_contract` (string, optional) — A return payment agreement contract is a legally binding document between two parties � the lender and the borrower, this include info how return payments will be made
- `return_target_currency` (string, optional) — A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 Codes for the representation of currencies and funds

### CurrencyExchange

Contains the set of elements used to provide details of the currency exchange.

- `exchange_rate` (string, optional) — Specifies the factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).
- `source_currency` (string, optional) — Its the source currency. A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 Codes for the representation of currencies and funds
- `target_currency` (string, optional) — Its the target currency A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 Codes for the representation of currencies and funds

## Examples

### Inquiry-Response-Example

**Response**

```json
{
  "created_date_time": "2025-08-01T09:49:31.837658377Z",
  "transactions": [
    {
      "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
      "service_type_indicator": "003",
      "transaction_status": {
        "status": "ACCP"
      },
      "instructed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "confirmed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "debtor": {
        "any_bic": "string",
        "name": "CITIBANK E-BUSINESS EUR DUM DEMO"
      },
      "debtor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "debtor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "creditor": {
        "name": "8010643122X XXXXXXXXXXXXX XXX"
      },
      "creditor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "creditor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "payment_event": [
        {
          "charge_amount": {
            "amount": "0.00",
            "currency": "USD"
          },
          "charge_bearer": "SHAR",
          "date_time": "2025-07-23T11:54:02.000Z",
          "from": "CITIGB2LXXX",
          "to": "CITIGB2LXXX",
          "additional_remittance_information": {
            "credit_virtual_account": "10012262",
            "payment_contract": "string",
            "payment_method": "FT",
            "return_account": "string",
            "return_charge_currency": "string",
            "return_currency": "string",
            "return_exchange_rate": "string",
            "return_source_currency": "string",
            "confidential": "N",
            "return_charge_amount": [
              "0.00"
            ]
          }
        }
      ],
      "end_to_end_identification": "API2307202501",
      "instruction_identification": "API2307202501",
      "account_servicer_reference": "3539253208",
      "event_time": "2020-10-05T08:35:55.000Z",
      "originator": "CITIGB2LXXX",
      "unstructured_remittance_information": [
        "TR002638"
      ],
      "interbank_settlement_date": "2025-07-24"
    }
  ]
}
```

**SDK Code**

```python Inquiry-Response-Example
import requests

url = "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry"

querystring = {"client_id":"client_id"}

headers = {
    "Accept": "application/json;format=PSRJ03",
    "Authorization": "Bearer <token>"
}

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

print(response.json())
```

```javascript Inquiry-Response-Example
const url = 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id';
const options = {
  method: 'POST',
  headers: {Accept: 'application/json;format=PSRJ03', Authorization: 'Bearer <token>'}
};

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

```go Inquiry-Response-Example
package main

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

func main() {

	url := "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id"

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

	req.Header.Add("Accept", "application/json;format=PSRJ03")
	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 Inquiry-Response-Example
require 'uri'
require 'net/http'

url = URI("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")

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

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json;format=PSRJ03'
request["Authorization"] = 'Bearer <token>'

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

```java Inquiry-Response-Example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")
  .header("Accept", "application/json;format=PSRJ03")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Inquiry-Response-Example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id', [
  'headers' => [
    'Accept' => 'application/json;format=PSRJ03',
    'Authorization' => 'Bearer <token>',
  ],
]);

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

```csharp Inquiry-Response-Example
using RestSharp;

var client = new RestClient("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json;format=PSRJ03");
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Inquiry-Response-Example
import Foundation

let headers = [
  "Accept": "application/json;format=PSRJ03",
  "Authorization": "Bearer <token>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Inquiry-Request-Example-EndtoEndId

**Request**

```json
{
  "end_to_end_identification": "API2307202501"
}
```

**Response**

```json
{
  "created_date_time": "2025-08-01T09:49:31.837658377Z",
  "transactions": [
    {
      "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
      "service_type_indicator": "003",
      "transaction_status": {
        "status": "ACCP"
      },
      "instructed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "confirmed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "debtor": {
        "any_bic": "string",
        "name": "CITIBANK E-BUSINESS EUR DUM DEMO"
      },
      "debtor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "debtor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "creditor": {
        "name": "8010643122X XXXXXXXXXXXXX XXX"
      },
      "creditor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "creditor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "payment_event": [
        {
          "charge_amount": {
            "amount": "0.00",
            "currency": "USD"
          },
          "charge_bearer": "SHAR",
          "date_time": "2025-07-23T11:54:02.000Z",
          "from": "CITIGB2LXXX",
          "to": "CITIGB2LXXX",
          "additional_remittance_information": {
            "credit_virtual_account": "10012262",
            "payment_contract": "string",
            "payment_method": "FT",
            "return_account": "string",
            "return_charge_currency": "string",
            "return_currency": "string",
            "return_exchange_rate": "string",
            "return_source_currency": "string",
            "confidential": "N",
            "return_charge_amount": [
              "0.00"
            ]
          }
        }
      ],
      "end_to_end_identification": "API2307202501",
      "instruction_identification": "API2307202501",
      "account_servicer_reference": "3539253208",
      "event_time": "2020-10-05T08:35:55.000Z",
      "originator": "CITIGB2LXXX",
      "unstructured_remittance_information": [
        "TR002638"
      ],
      "interbank_settlement_date": "2025-07-24"
    }
  ]
}
```

**SDK Code**

```python Inquiry-Request-Example-EndtoEndId
import requests

url = "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry"

querystring = {"client_id":"client_id"}

payload = { "end_to_end_identification": "API2307202501" }
headers = {
    "Accept": "application/json;format=PSRJ03",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers, params=querystring)

print(response.json())
```

```javascript Inquiry-Request-Example-EndtoEndId
const url = 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json;format=PSRJ03',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"end_to_end_identification":"API2307202501"}'
};

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

```go Inquiry-Request-Example-EndtoEndId
package main

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

func main() {

	url := "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id"

	payload := strings.NewReader("{\n  \"end_to_end_identification\": \"API2307202501\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json;format=PSRJ03")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Inquiry-Request-Example-EndtoEndId
require 'uri'
require 'net/http'

url = URI("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")

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

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json;format=PSRJ03'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"end_to_end_identification\": \"API2307202501\"\n}"

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

```java Inquiry-Request-Example-EndtoEndId
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")
  .header("Accept", "application/json;format=PSRJ03")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"end_to_end_identification\": \"API2307202501\"\n}")
  .asString();
```

```php Inquiry-Request-Example-EndtoEndId
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id', [
  'body' => '{
  "end_to_end_identification": "API2307202501"
}',
  'headers' => [
    'Accept' => 'application/json;format=PSRJ03',
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Inquiry-Request-Example-EndtoEndId
using RestSharp;

var client = new RestClient("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json;format=PSRJ03");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"end_to_end_identification\": \"API2307202501\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Inquiry-Request-Example-EndtoEndId
import Foundation

let headers = [
  "Accept": "application/json;format=PSRJ03",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = ["end_to_end_identification": "API2307202501"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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()
```

### Inquiry-Request-Example-UETR

**Request**

```json
{
  "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f"
}
```

**Response**

```json
{
  "created_date_time": "2025-08-01T09:49:31.837658377Z",
  "transactions": [
    {
      "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
      "service_type_indicator": "003",
      "transaction_status": {
        "status": "ACCP"
      },
      "instructed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "confirmed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "debtor": {
        "any_bic": "string",
        "name": "CITIBANK E-BUSINESS EUR DUM DEMO"
      },
      "debtor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "debtor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "creditor": {
        "name": "8010643122X XXXXXXXXXXXXX XXX"
      },
      "creditor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "creditor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "payment_event": [
        {
          "charge_amount": {
            "amount": "0.00",
            "currency": "USD"
          },
          "charge_bearer": "SHAR",
          "date_time": "2025-07-23T11:54:02.000Z",
          "from": "CITIGB2LXXX",
          "to": "CITIGB2LXXX",
          "additional_remittance_information": {
            "credit_virtual_account": "10012262",
            "payment_contract": "string",
            "payment_method": "FT",
            "return_account": "string",
            "return_charge_currency": "string",
            "return_currency": "string",
            "return_exchange_rate": "string",
            "return_source_currency": "string",
            "confidential": "N",
            "return_charge_amount": [
              "0.00"
            ]
          }
        }
      ],
      "end_to_end_identification": "API2307202501",
      "instruction_identification": "API2307202501",
      "account_servicer_reference": "3539253208",
      "event_time": "2020-10-05T08:35:55.000Z",
      "originator": "CITIGB2LXXX",
      "unstructured_remittance_information": [
        "TR002638"
      ],
      "interbank_settlement_date": "2025-07-24"
    }
  ]
}
```

**SDK Code**

```python Inquiry-Request-Example-UETR
import requests

url = "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry"

querystring = {"client_id":"client_id"}

payload = { "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f" }
headers = {
    "Accept": "application/json;format=PSRJ03",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers, params=querystring)

print(response.json())
```

```javascript Inquiry-Request-Example-UETR
const url = 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json;format=PSRJ03',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"uetr":"bd97a464-ec40-4054-9a5c-ddd097f7681f"}'
};

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

```go Inquiry-Request-Example-UETR
package main

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

func main() {

	url := "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id"

	payload := strings.NewReader("{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json;format=PSRJ03")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Inquiry-Request-Example-UETR
require 'uri'
require 'net/http'

url = URI("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")

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

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json;format=PSRJ03'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\"\n}"

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

```java Inquiry-Request-Example-UETR
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")
  .header("Accept", "application/json;format=PSRJ03")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\"\n}")
  .asString();
```

```php Inquiry-Request-Example-UETR
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id', [
  'body' => '{
  "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f"
}',
  'headers' => [
    'Accept' => 'application/json;format=PSRJ03',
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Inquiry-Request-Example-UETR
using RestSharp;

var client = new RestClient("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json;format=PSRJ03");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Inquiry-Request-Example-UETR
import Foundation

let headers = [
  "Accept": "application/json;format=PSRJ03",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = ["uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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()
```

### Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator

**Request**

```json
{
  "end_to_end_identification": "API2307202501",
  "transaction_flow_indicator": "CR"
}
```

**Response**

```json
{
  "created_date_time": "2025-08-01T09:49:31.837658377Z",
  "transactions": [
    {
      "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
      "service_type_indicator": "003",
      "transaction_status": {
        "status": "ACCP"
      },
      "instructed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "confirmed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "debtor": {
        "any_bic": "string",
        "name": "CITIBANK E-BUSINESS EUR DUM DEMO"
      },
      "debtor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "debtor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "creditor": {
        "name": "8010643122X XXXXXXXXXXXXX XXX"
      },
      "creditor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "creditor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "payment_event": [
        {
          "charge_amount": {
            "amount": "0.00",
            "currency": "USD"
          },
          "charge_bearer": "SHAR",
          "date_time": "2025-07-23T11:54:02.000Z",
          "from": "CITIGB2LXXX",
          "to": "CITIGB2LXXX",
          "additional_remittance_information": {
            "credit_virtual_account": "10012262",
            "payment_contract": "string",
            "payment_method": "FT",
            "return_account": "string",
            "return_charge_currency": "string",
            "return_currency": "string",
            "return_exchange_rate": "string",
            "return_source_currency": "string",
            "confidential": "N",
            "return_charge_amount": [
              "0.00"
            ]
          }
        }
      ],
      "end_to_end_identification": "API2307202501",
      "instruction_identification": "API2307202501",
      "account_servicer_reference": "3539253208",
      "event_time": "2020-10-05T08:35:55.000Z",
      "originator": "CITIGB2LXXX",
      "unstructured_remittance_information": [
        "TR002638"
      ],
      "interbank_settlement_date": "2025-07-24"
    }
  ]
}
```

**SDK Code**

```python Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
import requests

url = "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry"

querystring = {"client_id":"client_id"}

payload = {
    "end_to_end_identification": "API2307202501",
    "transaction_flow_indicator": "CR"
}
headers = {
    "Accept": "application/json;format=PSRJ03",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers, params=querystring)

print(response.json())
```

```javascript Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
const url = 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json;format=PSRJ03',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"end_to_end_identification":"API2307202501","transaction_flow_indicator":"CR"}'
};

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

```go Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
package main

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

func main() {

	url := "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id"

	payload := strings.NewReader("{\n  \"end_to_end_identification\": \"API2307202501\",\n  \"transaction_flow_indicator\": \"CR\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json;format=PSRJ03")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
require 'uri'
require 'net/http'

url = URI("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")

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

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json;format=PSRJ03'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"end_to_end_identification\": \"API2307202501\",\n  \"transaction_flow_indicator\": \"CR\"\n}"

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

```java Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")
  .header("Accept", "application/json;format=PSRJ03")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"end_to_end_identification\": \"API2307202501\",\n  \"transaction_flow_indicator\": \"CR\"\n}")
  .asString();
```

```php Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id', [
  'body' => '{
  "end_to_end_identification": "API2307202501",
  "transaction_flow_indicator": "CR"
}',
  'headers' => [
    'Accept' => 'application/json;format=PSRJ03',
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
using RestSharp;

var client = new RestClient("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json;format=PSRJ03");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"end_to_end_identification\": \"API2307202501\",\n  \"transaction_flow_indicator\": \"CR\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Inquiry-Request-Example-EndtoEndId-Transaction-Flow-Indicator
import Foundation

let headers = [
  "Accept": "application/json;format=PSRJ03",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "end_to_end_identification": "API2307202501",
  "transaction_flow_indicator": "CR"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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()
```

### Inquiry-Request-Example-UETR-Transaction-Flow-Indicator

**Request**

```json
{
  "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
  "transaction_flow_indicator": "CR"
}
```

**Response**

```json
{
  "created_date_time": "2025-08-01T09:49:31.837658377Z",
  "transactions": [
    {
      "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
      "service_type_indicator": "003",
      "transaction_status": {
        "status": "ACCP"
      },
      "instructed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "confirmed_amount": {
        "amount": "1.00",
        "currency": "USD"
      },
      "debtor": {
        "any_bic": "string",
        "name": "CITIBANK E-BUSINESS EUR DUM DEMO"
      },
      "debtor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "debtor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "creditor": {
        "name": "8010643122X XXXXXXXXXXXXX XXX"
      },
      "creditor_account": {
        "identification": {
          "iban": "string",
          "identification": "10012262"
        }
      },
      "creditor_agent": {
        "clearing_code": "string",
        "branch_id": "600"
      },
      "payment_event": [
        {
          "charge_amount": {
            "amount": "0.00",
            "currency": "USD"
          },
          "charge_bearer": "SHAR",
          "date_time": "2025-07-23T11:54:02.000Z",
          "from": "CITIGB2LXXX",
          "to": "CITIGB2LXXX",
          "additional_remittance_information": {
            "credit_virtual_account": "10012262",
            "payment_contract": "string",
            "payment_method": "FT",
            "return_account": "string",
            "return_charge_currency": "string",
            "return_currency": "string",
            "return_exchange_rate": "string",
            "return_source_currency": "string",
            "confidential": "N",
            "return_charge_amount": [
              "0.00"
            ]
          }
        }
      ],
      "end_to_end_identification": "API2307202501",
      "instruction_identification": "API2307202501",
      "account_servicer_reference": "3539253208",
      "event_time": "2020-10-05T08:35:55.000Z",
      "originator": "CITIGB2LXXX",
      "unstructured_remittance_information": [
        "TR002638"
      ],
      "interbank_settlement_date": "2025-07-24"
    }
  ]
}
```

**SDK Code**

```python Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
import requests

url = "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry"

querystring = {"client_id":"client_id"}

payload = {
    "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
    "transaction_flow_indicator": "CR"
}
headers = {
    "Accept": "application/json;format=PSRJ03",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers, params=querystring)

print(response.json())
```

```javascript Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
const url = 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json;format=PSRJ03',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"uetr":"bd97a464-ec40-4054-9a5c-ddd097f7681f","transaction_flow_indicator":"CR"}'
};

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

```go Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
package main

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

func main() {

	url := "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id"

	payload := strings.NewReader("{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\",\n  \"transaction_flow_indicator\": \"CR\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json;format=PSRJ03")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
require 'uri'
require 'net/http'

url = URI("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")

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

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json;format=PSRJ03'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\",\n  \"transaction_flow_indicator\": \"CR\"\n}"

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

```java Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")
  .header("Accept", "application/json;format=PSRJ03")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\",\n  \"transaction_flow_indicator\": \"CR\"\n}")
  .asString();
```

```php Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id', [
  'body' => '{
  "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
  "transaction_flow_indicator": "CR"
}',
  'headers' => [
    'Accept' => 'application/json;format=PSRJ03',
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
using RestSharp;

var client = new RestClient("https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json;format=PSRJ03");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"uetr\": \"bd97a464-ec40-4054-9a5c-ddd097f7681f\",\n  \"transaction_flow_indicator\": \"CR\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Inquiry-Request-Example-UETR-Transaction-Flow-Indicator
import Foundation

let headers = [
  "Accept": "application/json;format=PSRJ03",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "uetr": "bd97a464-ec40-4054-9a5c-ddd097f7681f",
  "transaction_flow_indicator": "CR"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://b2b.tts.icgservices.citi.com/citiconnect/prod/paymentservices/v3/payment/enhancedinquiry?client_id=client_id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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()
```