> 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/enterprise/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://citi-demo.ferndocs.com/enterprise/_mcp/server.

# Make A Direct Debit Request

POST //tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation
Content-Type: application/xml

Initiate a new payment through the Direct Payment Initiation API call. This API call accepts ISOXML pain.008.001.02 format to initiate a payment through CitiConnect. It can be used to initiate one Direct Debit request per API call. Each payment method takes different input values based on the type of payment. The Payment Initiation service accommodates all different data attributes for all the available payment methods.\<font size='2'>Content-Type : Supports “application/xml”. Authorization : The OAuth Token prefixed with “Bearer“ and space in between. payloadType : Supports “urn:iso:std:iso:20022:tech:xsd:pain.008.001.02”. Request : The request follows ISO XML V3 (pain.008.001.02) standards.paymentBase64 : ISO XML V3 (pain.008.001.02) file has to be converted to Base64 format and passed in \< Request>\< paymentBase64> tags. Response : The response follows ISO XML (pain.002.001.03) standards.

Reference: https://citi-demo.ferndocs.com/enterprise/enterprises/api-reference/payment-acceptance/direct-debit/direct-debit-api/payment-initiation-using-post

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

## 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) — The OAuth Token prefixed with "Bearer" and space in between.
- `payloadType` (string, required) — Supports "urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" format

### Body (application/xml)

This endpoint expects a DocumentReq.

- `CstmrDrctDbtInitn` (CustomerDirectDebitInitiationV02, required) — The CustomerDirectDebitInitiation message is sent by the initiating party to the forwarding agent or creditor agent. It is used to request single or bulk collection(s) of funds from one or various debtor's account(s) for a creditor.

## Response

### 200

OK

## Types

### CustomerDirectDebitInitiationV02

The CustomerDirectDebitInitiation message is sent by the initiating party to the forwarding agent or creditor agent. It is used to request single or bulk collection(s) of funds from one or various debtor's account(s) for a creditor.

- `GrpHdr` (GroupHeader39, required) — Group header details. Set of characteristics shared by all individual transactions included in the message.
- `PmtInf` (list of PaymentInstructionInformation4, required) — Set of characteristics that apply to the debit side of the payment transactions included in the credit transfer initiation.

### GroupHeader39

Group header details. Set of characteristics shared by all individual transactions included in the message.

- `CreDtTm` (datetime, required) — Date and time at which the message was created.
- `InitgPty` (PartyIdentification32, required) — Party that initiates the payment. This can either be the debtor or the party that initiates the credit transfer on behalf of the debtor.
- `MsgId` (string, required) — Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message.
- `NbOfTxs` (string, required) — Number of individual transactions contained in the message.
- `CtrlSum` (string, optional) — Total of all individual amounts included in the message, irrespective of currencies. The number of fractional digits should not be more than 17.
- `FwdgAgt` (BranchAndFinancialInstitutionIdentification4, optional) — Financial institution that receives the instruction from the initiating party and forwards it to the next agent in the payment chain for execution.
- `Authstn` (list of Authorisation1Choice, optional) — User identification or any user key to be used to check whether the initiating party is allowed to initiate transactions from the account specified in the message.

### PaymentInstructionInformation4

- `DrctDbtTxInf` (list of DirectDebitTransactionInformation9, required) — Set of elements used to provide information on the individual transaction(s) included in the message.
- `Cdtr` (PartyIdentification32, required) — Party to which an amount of money is due.
- `CdtrAcct` (CashAccount16, required) — Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.
- `CdtrAgt` (BranchAndFinancialInstitutionIdentification4, required) — Financial institution servicing an account for the creditor.
- `PmtInfId` (string, required) — Unique identification, as assigned by a sending party, to unambiguously identify the payment information group within the message.
- `PmtMtd` (enum, required) — Specifies the means of payment that will be used to move the amount of money. DD : Collection of an amount of money from the debtor's bank account by the creditor. The amount of money and dates of collections may vary.
  - Allowed values: `DD`
- `ReqdColltnDt` (date, required) — Date and time at which the creditor requests that the amount of money is to be collected from the debtor.
- `BtchBookg` (boolean, optional) — Identifies whether a single entry per individual transaction or a batch entry for the sum of the amounts of all transactions within the group of a message is requested.
- `ChrgBr` (enum, optional) — Specifies which party/parties will bear the charges associated with the processing of the payment transaction. 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`
- `ChrgsAcct` (CashAccount16, optional) — Account used to process charges associated with a transaction.
- `ChrgsAcctAgt` (BranchAndFinancialInstitutionIdentification4, optional) — Agent that services a charges account.
- `CtrlSum` (string, optional) — Total of all individual amounts included in the group, irrespective of currencies. The number of fractional digits should not be more than 17.
- `CdtrAgtAcct` (CashAccount16, optional) — Unambiguous identification of the account of the creditor agent at its servicing agent in the payment chain.
- `NbOfTxs` (string, optional) — Number of individual transactions contained in the paymnet information group.
- `PmtTpInf` (PaymentTypeInformation20, optional) — Set of elements used to further specify the type of transaction.
- `CdtrSchmeId` (PartyIdentification32, optional) — Credit party that signs the mandate.
- `UltmtCdtr` (PartyIdentification32, optional) — Ultimate party to which an amount of money is due.

### PartyIdentification32

- `Nm` (string, optional) — Name by which a party is known and which is usually used to identify that party.
- `PstlAdr` (PostalAddress6, optional) — Information that locates and identifies a specific address, as defined by postal services.
- `Id` (PartyIdentification32Id, optional) — Unique and unambiguous identification of a party. Should pass either OrgId or PrvtId for organisation and private respectively.
- `CtryOfRes` (string, optional) — Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.
- `CtctDtls` (ContactDetails2, optional) — Set of elements used to indicate how to contact the party.

### BranchAndFinancialInstitutionIdentification4

- `FinInstnId` (FinancialInstitutionIdentification7, required) — Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.
- `BrnchId` (BranchData2, optional) — Identifies a specific branch of a financial institution.

### Authorisation1Choice

- `Cd` (enum, required) — Specifies the authorisation, in a coded form.AUTH : Indicates a file has been pre authorised or approved within the originating customer environment and no further approval is required. FDET : Indicates that a file requires additional file level approval, with the ability to view both the payment information block and supporting customer credit transaction detail. FSUM : Indicates that a file requires additional file level approval, with the ability to view only the payment information block level information. ILEV : Indicates that a file requires all customer transactions to be authorised or approved.
  - Allowed values: `AUTH`, `FDET`, `FSUM`, `ILEV`
- `Prtry` (string, required) — Specifies the authorisation, in a free text form.

### DirectDebitTransactionInformation9

- `PmtId` (PaymentIdentification1, required) — Set of elements used to reference a payment instruction.
- `InstdAmt` (ActiveOrHistoricCurrencyAndAmount, required) — 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.
- `DbtrAcct` (CashAccount16, required) — Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.
- `DbtrAgt` (BranchAndFinancialInstitutionIdentification4, required) — Financial institution servicing an account for the debtor.
- `PmtTpInf` (PaymentTypeInformation20, optional) — Set of elements used to further specify the type of transaction.
- `ChrgBr` (enum, optional) — Specifies which party/parties will bear the charges associated with the processing of the payment transaction. 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`
- `DrctDbtTx` (DirectDebitTransaction6, optional) — Set of elements providing information specific to the direct debit mandate.
- `UltmtCdtr` (PartyIdentification32, optional) — Ultimate party to which an amount of money is due.
- `Dbtr` (PartyIdentification32, optional) — Party that owes an amount of money to the (ultimate) creditor.
- `DbtrAgtAcct` (CashAccount16, optional) — Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain.
- `UltmtDbtr` (PartyIdentification32, optional) — Ultimate party that owes an amount of money to the (ultimate) creditor.
- `InstrForCdtrAgt` (string, optional) — Further information, related to the processing of the payment instruction, that may need to be acted upon by the creditor agent, depending on agreement between creditor and the creditor agent.
- `Purp` (Purpose2Choice, optional) — Specifies the underlying reason for the payment transaction. Either Code or Proprietary field value should be passed on request.
- `RgltryRptg` (list of RegulatoryReporting3, optional) — Information needed due to regulatory and statutory requirements.
- `Tax` (TaxInformation3, optional) — Set of elements used to provide details on the tax.
- `RltdRmtInf` (list of RemittanceLocation2, optional) — Set of elements used to provide information related to the handling of the remittance information by any of the agents in the transaction processing chain.
- `RmtInf` (RemittanceInformation5, 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.

### CashAccount16

- `Id` (AccountIdentification4Choice, required) — Unique and unambiguous identification for the account between the account owner and the account servicer. Either iban or Othr field value should be passed on request.
- `Ccy` (string, optional) — Identification of the currency in which the account is held.
- `Nm` (string, optional) — Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.
- `Tp` (CashAccountType2, optional) — Specifies the nature, or use of the account. Either Code or Proprietary field value should be passed on request.

### PaymentTypeInformation20

Set of elements used to further specify the type of transaction.

- `CtgyPurp` (CategoryPurpose1Choice, optional) — Specifies the high level purpose of the instruction based on a set of pre-defined categories. Either Code or Proprietary field value should be passed in request.
- `InstrPrty` (enum, optional) — Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.HIGH : Priority level is high. NORM : Priority level is normal.
  - Allowed values: `HIGH`, `NORM`
- `LclInstrm` (LocalInstrument2Choice, optional) — User community specific instrument. Either Code or Proprietary field value should be passed in request.
- `SvcLvl` (ServiceLevel8Choice, optional) — Agreement under which or rules under which the transaction should be processed. Either code or proprietary field values should be sent in request.
- `SeqTp` (enum, optional) — Identifies the direct debit sequence, such as first, recurrent, final or one-off.FRST : First collection of a series of direct debit instructions.RCUR : Direct debit instruction where the debtor's authorisation is used for regular direct debit transactions initiated by the creditor.FNAL : Final collection of a series of direct debit instructions.OOFF : Direct debit instruction where the debtor's authorisation is used to initiate one single direct debit transaction.
  - Allowed values: `FRST`, `RCUR`, `FNAL`, `OOFF`

### PostalAddress6

Information that locates and identifies a specific address, as defined by postal services.

- `AdrLine` (list of string, optional) — Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
- `AdrTp` (enum, optional) — Identifies the nature of the postal address.ADDR : Address is the complete postal address. PBOX : Address is a postal office (PO) box. HOME : Address is the home address. BIZZ : Address is the business address.MLTO : Address is the address to which mail is sent.DLVY : Address is the address to which delivery is to take place.
  - Allowed values: `ADDR`, `PBOX`, `HOME`, `BIZZ`, `MLTO`, `DLVY`
- `BldgNb` (string, optional) — Number that identifies the position of a building on a street.
- `Ctry` (string, optional) — Nation with its own government. The code is checked against the list of country names obtained from the United Nations (ISO 3166, Alpha-2 code).
- `CtrySubDvsn` (string, optional) — Identifies a subdivision of a country such as state, region, county.
- `Dept` (string, optional) — Identification of a division of a large organisation or building.
- `PstCd` (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.
- `StrtNm` (string, optional) — Name of a street or thoroughfare.
- `SubDept` (string, optional) — Identification of a sub-division of a large organisation or building.
- `TwnNm` (string, optional) — Name of a built-up area, with defined boundaries, and a local government.

### PartyIdentification32Id

Unique and unambiguous identification of a party. Should pass either OrgId or PrvtId for organisation and private respectively.

- `OrgId` (OrganisationIdentification4, optional) — Unique and unambiguous way to identify an organisation.
- `PrvtId` (PersonIdentification5, optional) — Unique and unambiguous identification of a person, for example a passport.

### ContactDetails2

Set of elements used to indicate how to contact the party.

- `EmailAdr` (string, optional) — Address for electronic mail (e-mail).
- `FaxNb` (string, optional) — Collection of information that identifies a FAX number, as defined by telecom services.
- `MobNb` (string, optional) — Collection of information that identifies a mobile phone number, as defined by telecom services.
- `Nm` (string, optional) — Name by which a party is known and which is usually used to identify that party.
- `NmPrfx` (enum, optional) — Specifies the terms used to formally address a person. DOCT : Title of the person is Doctor or Dr. MIST : Title of the person is Mister or Mr. MISS : Title of the person is Miss. MADM : Title of the person is Madam.
  - Allowed values: `DOCT`, `MIST`, `MISS`, `MADM`
- `Othr` (string, optional) — Contact details in another form.
- `PhneNb` (string, optional) — Collection of information that identifies a phone number, as defined by telecom services.

### FinancialInstitutionIdentification7

Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.

- `BIC` (string, optional) — Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".
- `ClrSysMmbId` (ClearingSystemMemberIdentification2, optional) — Information used to identify a member within a clearing system.
- `Nm` (string, optional) — Name by which an agent is known and which is usually used to identify that agent.
- `Othr` (GenericFinancialIdentification1, optional) — Unique identification of an agent, as assigned by an institution, using an identification scheme.
- `PstlAdr` (PostalAddress6, optional) — Information that locates and identifies a specific address, as defined by postal services.

### BranchData2

Identifies a specific branch of a financial institution.

- `Id` (string, optional) — Unique and unambiguous identification of a branch of a financial institution.
- `Nm` (string, optional) — Name by which an agent is known and which is usually used to identify that agent.
- `PstlAdr` (PostalAddress6, optional) — Information that locates and identifies a specific address, as defined by postal services.

### PaymentIdentification1

Set of elements used to reference a payment instruction.

- `EndToEndId` (string, required) — Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
- `InstrId` (string, optional) — Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.

### ActiveOrHistoricCurrencyAndAmount

- `Ccy` (string, optional) — Currency code. Passed as the tag attribute.
- `Value` (string, optional) — 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. The number of fractional digits should be 5.

### DirectDebitTransaction6

Set of elements providing information specific to the direct debit mandate.

- `MndtRltdInf` (MandateRelatedInformation6, optional) — Set of elements used to provide further details of the mandate signed between the creditor and the debtor.
- `CdtrSchmeId` (PartyIdentification32, optional) — Credit party that signs the mandate.
- `PreNtfctnId` (string, optional) — Unique and unambiguous identification of the pre-notification which is sent separately from the direct debit instruction.
- `PreNtfctnDt` (date, optional) — Date on which the creditor notifies the debtor about the amount and date on which the direct debit instruction will be presented to the debtor's agent.

### Purpose2Choice

Specifies the underlying reason for the payment transaction. Either Code or Proprietary field value should be passed on request.

- `Cd` (string, optional) — Underlying reason for the payment transaction, as published in an external purpose code list.
- `Prtry` (string, optional) — Purpose, in a proprietary form.

### RegulatoryReporting3

- `Authrty` (RegulatoryReporting3Authrty, optional) — Entity requiring the regulatory reporting information.
- `DbtCdtRptgInd` (enum, optional) — Identifies whether the regulatory reporting information applies to the debit side, to the credit side or to both debit and credit sides of the transaction.CRED : Regulatory information applies to the credit side. DEBT : Regulatory information applies to the debit side. BOTH : Regulatory information applies to both credit and debit sides.
  - Allowed values: `CRED`, `DEBT`, `BOTH`
- `Dtls` (list of StructuredRegulatoryReporting3, optional) — Set of elements used to provide details on the regulatory reporting information.

### TaxInformation3

Set of elements used to provide details on the tax.

- `AdmstnZn` (string, optional) — Territorial part of a country to which the tax payment is related.
- `Cdtr` (TaxParty1, optional) — Party on the credit side of the transaction to which the tax applies.
- `Dt` (date, optional) — Date by which tax is due.
- `Dbtr` (TaxParty2, optional) — Set of elements used to identify the party on the debit side of the transaction to which the tax applies.
- `Mtd` (string, optional) — Method used to indicate the underlying business or how the tax is paid.
- `Rcrd` (list of TaxRecord1, optional) — Record of tax details.
- `RefNb` (string, optional) — Tax reference information that is specific to a taxing agency.
- `SeqNb` (double, optional) — Sequential number of the tax report.
- `TtlTaxAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Total amount of money as result of the calculation of the tax.
- `TtlTaxblBaseAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Total amount of money on which the tax is based.

### RemittanceLocation2

- `RmtId` (string, optional) — Unique identification, as assigned by the initiating party, to unambiguously identify the remittance information sent separately from the payment instruction, such as a remittance advice.
- `RmtLctnElctrncAdr` (string, optional) — Electronic address to which an agent is to send the remittance information.
- `RmtLctnMtd` (enum, optional) — Method used to deliver the remittance advice information.FAXI : Remittance advice information must be faxed. EDIC : Remittance advice information must be sent through Electronic Data Interchange (EDI). URID : Remittance advice information needs to be sent to a Uniform Resource Identifier (URI). URI is a compact string of characters that uniquely identify an abstract or physical resource. URI's are the super-set of identifiers, such as URLs, email addresses, ftp sites, etc, and as such, provide the syntax for all of the identification schemes. EMAL : Remittance advice information must be sent through e-mail. POST : Remittance advice information must be sent through postal services. SMSM : Remittance advice information must be sent through by phone as a short message service (SMS).
  - Allowed values: `FAXI`, `EDIC`, `URID`, `EMAL`, `POST`, `SMSM`
- `RmtLctnPstlAdr` (NameAndAddress10, optional) — Postal address to which an agent is to send the remittance information.

### RemittanceInformation5

- `Strd` (list of StructuredRemittanceInformation7, optional) — 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.
- `Ustrd` (list of string, optional) — 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 an unstructured form.

### AccountIdentification4Choice

Unique and unambiguous identification for the account between the account owner and the account servicer. Either iban or Othr field value should be passed on request.

- `IBAN` (string, required) — >- International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
- `Othr` (GenericAccountIdentification1, required) — Unique identification of an account, as assigned by the account servicer, using an identification scheme.

### CashAccountType2

Specifies the nature, or use of the account. Either Code or Proprietary field value should be passed on request.

- `Cd` (enum, optional) — Account type, in a coded form. CASH : Account used for the payment of cash. CHAR : Account used for charges if different from the account for payment. COMM : Account used for commission if different from the account for payment. TAXE : Account used for taxes if different from the account for payment. CISH : Account used for payment of income if different from the current cash account. TRAS : Account used for trading if different from the current cash account. SACC : Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system. CACC : Account used to post debits and credits when no specific account has been nominated. SVGS : Account used for savings. ONDP : Account used for overnight deposits. MGLD : Account used for a marginal lending facility. NREX : Account used for non-resident external. MOMA : Account used for money markets if different from the cash account. LOAN : Account used for loans. SLRY : Accounts used for salary payments. ODFT : Account is used for overdrafts.
  - Allowed values: `CASH`, `CHAR`, `COMM`, `TAXE`, `CISH`, `TRAS`, `SACC`, `CACC`, `SVGS`, `ONDP`, `MGLD`, `NREX`, `MOMA`, `LOAN`, `SLRY`, `ODFT`
- `Prtry` (string, optional) — Nature or use of the account in a proprietary form.

### CategoryPurpose1Choice

Specifies the high level purpose of the instruction based on a set of pre-defined categories. Either Code or Proprietary field value should be passed in request.

- `Cd` (string, optional) — Category purpose, as published in an external category purpose code list.
- `Prtry` (string, optional) — Category purpose, in a proprietary form.

### LocalInstrument2Choice

User community specific instrument. Either Code or Proprietary field value should be passed in request.

- `Cd` (string, optional) — Specifies the local instrument, as published in an external local instrument code list.
- `Prtry` (string, optional) — Specifies the local instrument, as a proprietary code.

### ServiceLevel8Choice

Agreement under which or rules under which the transaction should be processed. Either code or proprietary field values should be sent in request.

- `Cd` (string, optional) — Specifies a pre-agreed service or level of service between the parties, as published in an external service level code list.
- `Prtry` (string, optional) — Specifies a pre-agreed service or level of service between the parties, as a proprietary code.

### OrganisationIdentification4

Unique and unambiguous way to identify an organisation.

- `BICOrBEI` (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)".
- `Othr` (list of GenericOrganisationIdentification1, optional) — Unique identification of an organisation, as assigned by an institution, using an identification scheme.

### PersonIdentification5

Unique and unambiguous identification of a person, for example a passport.

- `DtAndPlcOfBirth` (DateAndPlaceOfBirth, optional) — Date and place of birth of a person.
- `Othr` (list of GenericPersonIdentification1, optional) — Unique identification of a person, as assigned by an institution, using an identification scheme.

### ClearingSystemMemberIdentification2

Information used to identify a member within a clearing system.

- `MmbId` (string, required) — Identification of a member of a clearing system.
- `ClrSysId` (ClearingSystemMemberIdentification2ClrSysId, optional) — Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed. Either Code or Proprietary field value should be passed in request.

### GenericFinancialIdentification1

Unique identification of an agent, as assigned by an institution, using an identification scheme.

- `Id` (string, required) — Unique and unambiguous identification of a person.
- `Issr` (string, optional) — Entity that assigns the identification.
- `SchmeNm` (FinancialIdentificationSchemeName1Choice, optional) — Name of the identification scheme. Either Code or Proprietary field value should be passed on request.

### MandateRelatedInformation6

Set of elements used to provide further details of the mandate signed between the creditor and the debtor.

- `MndtId` (string, optional) — Unique identification, as assigned by the creditor, to unambiguously identify the mandate.
- `AmdmntInd` (boolean, optional) — Indicator notifying whether the underlying mandate is amended or not.
- `AmdmntInfDtls` (AmendmentInformationDetails6, optional) — List of mandate elements that have been modified.
- `ElctrncSgntr` (string, optional) — Additional security provisions, such as a digital signature, as provided by the debtor.
- `DtOfSgntr` (date, optional) — Date on which the direct debit mandate has been signed by the debtor.
- `FrstColltnDt` (date, optional) — Date of the first collection of a direct debit as per the mandate.
- `FnlColltnDt` (date, optional) — Date of the final collection of a direct debit as per the mandate.
- `Frqcy` (enum, optional) — Original frequency that has been modified.YEAR : Event takes place every year or once a year. MNTH : Event takes place every month or once a month. QURT : Event takes place every three months or four times a year. MIAN : Event takes place every six months or two times a year.WEEK : Event takes place once a week. DAIL : Event takes place every day. ADHO : Event takes place on request or as necessary. INDA : Event takes place several times a day.
  - Allowed values: `YEAR`, `MNTH`, `QURT`, `MIAN`, `WEEK`, `DAIL`, `ADHO`, `INDA`

### RegulatoryReporting3Authrty

Entity requiring the regulatory reporting information.

- `Ctry` (string, optional) — Country of the entity that requires the regulatory reporting information.
- `Nm` (string, optional) — Name of the entity requiring the regulatory reporting information.

### StructuredRegulatoryReporting3

- `Amt` (ActiveOrHistoricCurrencyAndAmount, optional) — Amount of money to be reported for regulatory and statutory requirements.
- `Cd` (string, optional) — Specifies the nature, purpose, and reason for the transaction to be reported for regulatory and statutory requirements in a coded form.
- `Ctry` (string, optional) — Country related to the specified type of regulatory reporting details.
- `Dt` (date, optional) — Date related to the specified type of regulatory reporting details.
- `Inf` (list of string, optional) — Additional details that cater for specific domestic regulatory requirements.
- `Tp` (string, optional) — Specifies the type of the information supplied in the regulatory reporting details.

### TaxParty1

Party on the credit side of the transaction to which the tax applies.

- `RegnId` (string, optional) — Unique identification, as assigned by an organisation, to unambiguously identify a party.
- `TaxId` (string, optional) — Tax identification number of the creditor.
- `TaxTp` (string, optional) — Type of tax payer.

### TaxParty2

Set of elements used to identify the party on the debit side of the transaction to which the tax applies.

- `Authstn` (TaxAuthorisation1, optional) — Details of the authorised tax paying party.
- `RegnId` (string, optional) — Unique identification, as assigned by an organisation, to unambiguously identify a party.
- `TaxId` (string, optional) — Tax identification number of the debtor.
- `TaxTp` (string, optional) — Type of tax payer.

### TaxRecord1

- `AddtlInf` (string, optional) — Further details of the tax record.
- `Ctgy` (string, optional) — Specifies the tax code as published by the tax authority.
- `CtgyDtls` (string, optional) — Provides further details of the category tax code.
- `CertId` (string, optional) — Identification number of the tax report as assigned by the taxing authority.
- `DbtrSts` (string, optional) — Code provided by local authority to identify the status of the party that has drawn up the settlement document.
- `FrmsCd` (string, optional) — Identifies, in a coded form, on which template the tax report is to be provided.
- `Prd` (TaxPeriod1, optional) — Set of elements used to provide details on the period of time related to the tax payment.
- `TaxAmt` (TaxAmount1, optional) — Set of elements used to provide information on the amount of the tax record.
- `Tp` (string, optional) — High level code to identify the type of tax details.

### NameAndAddress10

- `Adr` (PostalAddress6, required) — Information that locates and identifies a specific address, as defined by postal services.
- `Nm` (string, required) — Name by which a party is known and is usually used to identify that party.

### StructuredRemittanceInformation7

- `AddtlRmtInf` (list of string, optional) — Additional information, in free text form, to complement the structured remittance information.
- `CdtrRefInf` (CreditorReferenceInformation2, optional) — Reference information provided by the creditor to allow the identification of the underlying documents.
- `Invcee` (PartyIdentification32, optional) — Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate debtor.
- `Invcr` (PartyIdentification32, optional) — Identification of the organisation issuing the invoice, when it is different from the creditor or ultimate creditor.
- `RfrdDocAmt` (RemittanceAmount1, optional) — Set of elements used to provide details on the amounts of the referred document.
- `RfrdDocInf` (list of ReferredDocumentInformation3, optional) — Set of elements used to identify the documents referred to in the remittance information.

### GenericAccountIdentification1

Unique identification of an account, as assigned by the account servicer, using an identification scheme.

- `Id` (string, required) — Identification assigned by an institution.
- `Issr` (string, optional) — Entity that assigns the identification.
- `SchmeNm` (FinancialIdentificationSchemeName1Choice, optional) — Name of the identification scheme.

### GenericOrganisationIdentification1

- `Id` (string, required) — Identification assigned by an institution.
- `SchmeNm` (IdentificationSchemeName1Choice, optional) — Name of the identification scheme.
- `Issr` (string, optional) — Entity that assigns the identification.

### DateAndPlaceOfBirth

Date and place of birth of a person.

- `BirthDt` (date, required) — Date on which a person is born.
- `CityOfBirth` (string, required) — City where a person was born.
- `CtryOfBirth` (string, required) — Country where a person was born.
- `PrvcOfBirth` (string, optional) — Province where a person was born.

### GenericPersonIdentification1

Unique identification of a person, as assigned by an institution, using an identification scheme.

- `Id` (string, required) — Unique and unambiguous identification of a person.
- `SchmeNm` (IdentificationSchemeName1Choice, optional) — Name of the identification scheme.
- `Issr` (string, optional) — Entity that assigns the identification.

### ClearingSystemMemberIdentification2ClrSysId

Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed. Either Code or Proprietary field value should be passed in request.

- `Cd` (string, optional) — Identification of a clearing system, in a coded form as published in an external list.
- `Prtry` (string, optional) — Identification code for a clearing system, that has not yet been identified in the list of clearing systems.

### FinancialIdentificationSchemeName1Choice

Name of the identification scheme. Either Code or Proprietary field value should be passed on request.

- `Cd` (string, required) — Name of the identification scheme, in a coded form as published in an external list.
- `Prtry` (string, required) — Name of the identification scheme, in a free text form.

### AmendmentInformationDetails6

List of mandate elements that have been modified.

- `OrgnlMndtId` (string, optional) — Unique identification, as assigned by the creditor, to unambiguously identify the original mandate.
- `OrgnlCdtrSchmeId` (PartyIdentification32, optional) — Original creditor scheme identification that has been modified.
- `OrgnlDbtr` (PartyIdentification32, optional) — Original debtor that has been modified.
- `OrgnlDbtrAcct` (CashAccount16, optional) — Original debtor account that has been modified.
- `OrgnlDbtrAgt` (BranchAndFinancialInstitutionIdentification4, optional) — Original debtor agent that has been modified.
- `OrgnlDbtrAgtAcct` (CashAccount16, optional) — Original debtor agent account that has been modified.
- `OrgnlCdtrAgt` (BranchAndFinancialInstitutionIdentification4, optional) — Original creditor agent that has been modified.
- `OrgnlCdtrAgtAcct` (CashAccount16, optional) — Original creditor agent acount that has been modified.
- `OrgnlFnlColltnDt` (date, optional) — Original final collection date that has been modified.
- `OrgnlFrqcy` (enum, optional) — Original frequency that has been modified.YEAR : Event takes place every year or once a year. MNTH : Event takes place every month or once a month. QURT : Event takes place every three months or four times a year. MIAN : Event takes place every six months or two times a year.WEEK : Event takes place once a week. DAIL : Event takes place every day. ADHO : Event takes place on request or as necessary. INDA : Event takes place several times a day.
  - Allowed values: `YEAR`, `MNTH`, `QURT`, `MIAN`, `WEEK`, `DAIL`, `ADHO`, `INDA`

### TaxAuthorisation1

Details of the authorised tax paying party.

- `Nm` (string, optional) — Name of the debtor or the debtor's authorised representative.
- `Titl` (string, optional) — Title or position of debtor or the debtor's authorised representative.

### TaxPeriod1

Set of elements used to provide details on the period of time related to the tax payment.

- `FrToDt` (DatePeriodDetails, optional) — Range of time between a start date and an end date for which the tax report is provided.
- `Tp` (enum, optional) — Identification of the period related to the tax payment. MM01 : Tax is related to the first month of the period. MM02 : Tax is related to the second month of the period.MM03 : Tax is related to the third month of the period.MM04 : Tax is related to the fourth month of the period.MM05 : Tax is related to the fifth month of the period.MM06 : Tax is related to the sixth month of the period.MM07 : Tax is related to the seventh month of the period.MM08 : Tax is related to the eighth month of the period.MM09 : Tax is related to the ninth month of the period.MM10 : Tax is related to the tenth month of the period.MM11 : Tax is related to the eleventh month of the period.MM12 : Tax is related to the twelfth month of the period.QTR1 : Tax is related to the first quarter of the period.QTR2 : Tax is related to the second quarter of the period.QTR3 : Tax is related to the third quarter of the period.QTR4 : Tax is related to the fourth quarter of the period.HLF1 : Tax is related to the first half of the period.HLF2 : Tax is related to the second half of the period.
  - Allowed values: `MM01`, `MM02`, `MM03`, `MM04`, `MM05`, `MM06`, `MM07`, `MM08`, `MM09`, `MM10`, `MM11`, `MM12`, `QTR1`, `QTR2`, `QTR3`, `QTR4`, `HLF1`, `HLF2`
- `Yr` (date, optional) — Year related to the tax payment.

### TaxAmount1

Set of elements used to provide information on the amount of the tax record.

- `Dtls` (list of TaxRecordDetails1, optional) — Set of elements used to provide details on the tax period and amount.
- `Rate` (string, optional) — Rate used to calculate the tax.
- `TaxblBaseAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Amount of money on which the tax is based.
- `TtlAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Total amount that is the result of the calculation of the tax for the record.

### CreditorReferenceInformation2

Reference information provided by the creditor to allow the identification of the underlying documents.

- `Ref` (string, optional) — Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.
- `Tp` (CreditorReferenceType2, optional) — Specifies the type of creditor reference.

### RemittanceAmount1

Set of elements used to provide details on the amounts of the referred document.

- `AdjstmntAmtAndRsn` (list of DocumentAdjustment1, optional) — Set of elements used to provide information on the amount and reason of the document adjustment.
- `CdtNoteAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Amount specified for the referred document is the amount of a credit note.
- `DscntApldAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Amount of money that results from the application of an agreed discount to the amount due and payable to the creditor.
- `DuePyblAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Amount specified is the exact amount due and payable to the creditor.
- `RmtdAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Amount of money remitted for the referred document.
- `TaxAmt` (ActiveOrHistoricCurrencyAndAmount, optional) — Quantity of cash resulting from the calculation of the tax.

### ReferredDocumentInformation3

- `Nb` (string, optional) — Unique and unambiguous identification of the referred document.
- `RltdDt` (date, optional) — Date associated with the referred document.
- `Tp` (ReferredDocumentType2, optional) — Specifies the type of referred document.

### IdentificationSchemeName1Choice

- `Cd` (string, required) — Name of the identification scheme, in a coded form as published in an external list.
- `Prtry` (string, required) — Name of the identification scheme, in a free text form.

### DatePeriodDetails

- `FrDt` (date, required) — Start date of the range.
- `ToDt` (date, required) — End date of the range.

### TaxRecordDetails1

- `Amt` (ActiveOrHistoricCurrencyAndAmount, required) — Underlying tax amount related to the specified period.
- `Prd` (TaxPeriod1, optional) — Set of elements used to provide details on the period of time related to the tax payment.

### CreditorReferenceType2

Specifies the type of creditor reference.

- `CdOrPrtry` (CreditorReferenceType1Choice, required) — Coded or proprietary format creditor reference type. Either Code or Proprietary field value should be passed on request.
- `Issr` (string, optional) — Entity that assigns the credit reference type.

### DocumentAdjustment1

- `Amt` (ActiveOrHistoricCurrencyAndAmount, required) — Amount of money of the document adjustment.
- `AddtlInf` (string, optional) — Provides further details on the document adjustment.
- `CdtDbtInd` (enum, optional) — Specifies whether the adjustment must be subtracted or added to the total amount.CRDT : Operation is an increase. DBIT : Operation is a decrease.
  - Allowed values: `CRDT`, `DBIT`
- `Rsn` (string, optional) — Specifies the reason for the adjustment.

### ReferredDocumentType2

Specifies the type of referred document.

- `CdOrPrtry` (ReferredDocumentType1Choice, required) — Provides the type details of the referred document. Either Code or Proprietary field value should be passed on request.
- `Issr` (string, optional) — Identification of the issuer of the reference document type.

### CreditorReferenceType1Choice

Coded or proprietary format creditor reference type. Either Code or Proprietary field value should be passed on request.

- `Cd` (enum, optional) — Type of creditor reference, in a coded form.RADM : Document is a remittance advice sent separately from the current transaction. RPIN : Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario. FXDR : Document is a pre-agreed or pre-arranged foreign exchange transaction to which the payment transaction refers. DISP : Document is a dispatch advice. PUOR : Document is a purchase order SCOR : Document is a structured communication reference provided by the creditor to identify the referred transaction.
  - Allowed values: `RADM`, `RPIN`, `FXDR`, `DISP`, `PUOR`, `SCOR`
- `Prtry` (string, optional) — Creditor reference type, in a proprietary form.

### ReferredDocumentType1Choice

Provides the type details of the referred document. Either Code or Proprietary field value should be passed on request.

- `Cd` (enum, optional) — Document type in a coded form.MSIN : Document is an invoice claiming payment for the supply of metered services, for example gas or electricity supplied to a fixed meter. CNFA : Document is a credit note for the final amount settled for a commercial transaction. DNFA : Document is a debit note for the final amount settled for a commercial transaction. CINV : Document is an invoice. CREN : Document is a credit note. DEBN : Document is a debit note. HIRI : Document is an invoice for the hiring of human resources or renting goods or equipment. SBIN : Document is an invoice issued by the debtor. SVGS : Account used for savings. CMCN : Document is an agreement between the parties, stipulating the terms and conditions of the delivery of goods or services. SOAC : Document is a statement of the transactions posted to the debtor's account at the supplier. DISP : Document is a dispatch advice. BOLD : Document is a shipping notice. VCHR : Document is an electronic payment document. AROI : Document is a payment that applies to a specific source document. TSUT : Document is a transaction identifier as assigned by the Trade Services Utility.
  - Allowed values: `MSIN`, `CNFA`, `DNFA`, `CINV`, `CREN`, `DEBN`, `HIRI`, `SBIN`, `CMCN`, `SOAC`, `DISP`, `BOLD`, `VCHR`, `AROI`, `TSUT`
- `Prtry` (string, optional) — Proprietary identification of the type of the remittance document.

## Examples

**Request**

```json
{
  "CstmrDrctDbtInitn": {
    "GrpHdr": {
      "CreDtTm": "2024-01-15T09:30:00Z",
      "InitgPty": {},
      "MsgId": "string",
      "NbOfTxs": "string"
    },
    "PmtInf": [
      {
        "DrctDbtTxInf": [
          {
            "PmtId": {
              "EndToEndId": "string"
            },
            "InstdAmt": {},
            "DbtrAcct": {
              "Id": {
                "IBAN": "string",
                "Othr": {
                  "Id": "string"
                }
              }
            },
            "DbtrAgt": {
              "FinInstnId": {}
            }
          }
        ],
        "Cdtr": {},
        "CdtrAcct": {
          "Id": {
            "IBAN": "string",
            "Othr": {
              "Id": "string"
            }
          }
        },
        "CdtrAgt": {
          "FinInstnId": {}
        },
        "PmtInfId": "string",
        "PmtMtd": "DD",
        "ReqdColltnDt": "2023-01-15"
      }
    ]
  }
}
```

**Response**

```json
{}
```

**SDK Code**

```python
import requests

url = "https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation"

querystring = {"client_id":"client_id"}

payload = "{\n  \"CstmrDrctDbtInitn\": {\n    \"GrpHdr\": {\n      \"CreDtTm\": \"2024-01-15T09:30:00Z\",\n      \"InitgPty\": {},\n      \"MsgId\": \"string\",\n      \"NbOfTxs\": \"string\"\n    },\n    \"PmtInf\": [\n      {\n        \"DrctDbtTxInf\": [\n          {\n            \"PmtId\": {\n              \"EndToEndId\": \"string\"\n            },\n            \"InstdAmt\": {},\n            \"DbtrAcct\": {\n              \"Id\": {\n                \"IBAN\": \"string\",\n                \"Othr\": {\n                  \"Id\": \"string\"\n                }\n              }\n            },\n            \"DbtrAgt\": {\n              \"FinInstnId\": {}\n            }\n          }\n        ],\n        \"Cdtr\": {},\n        \"CdtrAcct\": {\n          \"Id\": {\n            \"IBAN\": \"string\",\n            \"Othr\": {\n              \"Id\": \"string\"\n            }\n          }\n        },\n        \"CdtrAgt\": {\n          \"FinInstnId\": {}\n        },\n        \"PmtInfId\": \"string\",\n        \"PmtMtd\": \"DD\",\n        \"ReqdColltnDt\": \"2023-01-15\"\n      }\n    ]\n  }\n}"
headers = {
    "Authorization": "Bearer <token>",
    "payloadType": "payloadType",
    "Content-Type": "application/xml"
}

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

print(response.json())
```

```javascript
const url = 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation?client_id=client_id';
const options = {
  method: 'POST',
  headers: {
    Authorization: 'Bearer <token>',
    payloadType: 'payloadType',
    'Content-Type': 'application/xml'
  },
  body: '{\n  "CstmrDrctDbtInitn": {\n    "GrpHdr": {\n      "CreDtTm": "2024-01-15T09:30:00Z",\n      "InitgPty": {},\n      "MsgId": "string",\n      "NbOfTxs": "string"\n    },\n    "PmtInf": [\n      {\n        "DrctDbtTxInf": [\n          {\n            "PmtId": {\n              "EndToEndId": "string"\n            },\n            "InstdAmt": {},\n            "DbtrAcct": {\n              "Id": {\n                "IBAN": "string",\n                "Othr": {\n                  "Id": "string"\n                }\n              }\n            },\n            "DbtrAgt": {\n              "FinInstnId": {}\n            }\n          }\n        ],\n        "Cdtr": {},\n        "CdtrAcct": {\n          "Id": {\n            "IBAN": "string",\n            "Othr": {\n              "Id": "string"\n            }\n          }\n        },\n        "CdtrAgt": {\n          "FinInstnId": {}\n        },\n        "PmtInfId": "string",\n        "PmtMtd": "DD",\n        "ReqdColltnDt": "2023-01-15"\n      }\n    ]\n  }\n}'
};

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

```go
package main

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

func main() {

	url := "https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation?client_id=client_id"

	payload := strings.NewReader("{\n  \"CstmrDrctDbtInitn\": {\n    \"GrpHdr\": {\n      \"CreDtTm\": \"2024-01-15T09:30:00Z\",\n      \"InitgPty\": {},\n      \"MsgId\": \"string\",\n      \"NbOfTxs\": \"string\"\n    },\n    \"PmtInf\": [\n      {\n        \"DrctDbtTxInf\": [\n          {\n            \"PmtId\": {\n              \"EndToEndId\": \"string\"\n            },\n            \"InstdAmt\": {},\n            \"DbtrAcct\": {\n              \"Id\": {\n                \"IBAN\": \"string\",\n                \"Othr\": {\n                  \"Id\": \"string\"\n                }\n              }\n            },\n            \"DbtrAgt\": {\n              \"FinInstnId\": {}\n            }\n          }\n        ],\n        \"Cdtr\": {},\n        \"CdtrAcct\": {\n          \"Id\": {\n            \"IBAN\": \"string\",\n            \"Othr\": {\n              \"Id\": \"string\"\n            }\n          }\n        },\n        \"CdtrAgt\": {\n          \"FinInstnId\": {}\n        },\n        \"PmtInfId\": \"string\",\n        \"PmtMtd\": \"DD\",\n        \"ReqdColltnDt\": \"2023-01-15\"\n      }\n    ]\n  }\n}")

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

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("payloadType", "payloadType")
	req.Header.Add("Content-Type", "application/xml")

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

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

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

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation?client_id=client_id")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["payloadType"] = 'payloadType'
request["Content-Type"] = 'application/xml'
request.body = "{\n  \"CstmrDrctDbtInitn\": {\n    \"GrpHdr\": {\n      \"CreDtTm\": \"2024-01-15T09:30:00Z\",\n      \"InitgPty\": {},\n      \"MsgId\": \"string\",\n      \"NbOfTxs\": \"string\"\n    },\n    \"PmtInf\": [\n      {\n        \"DrctDbtTxInf\": [\n          {\n            \"PmtId\": {\n              \"EndToEndId\": \"string\"\n            },\n            \"InstdAmt\": {},\n            \"DbtrAcct\": {\n              \"Id\": {\n                \"IBAN\": \"string\",\n                \"Othr\": {\n                  \"Id\": \"string\"\n                }\n              }\n            },\n            \"DbtrAgt\": {\n              \"FinInstnId\": {}\n            }\n          }\n        ],\n        \"Cdtr\": {},\n        \"CdtrAcct\": {\n          \"Id\": {\n            \"IBAN\": \"string\",\n            \"Othr\": {\n              \"Id\": \"string\"\n            }\n          }\n        },\n        \"CdtrAgt\": {\n          \"FinInstnId\": {}\n        },\n        \"PmtInfId\": \"string\",\n        \"PmtMtd\": \"DD\",\n        \"ReqdColltnDt\": \"2023-01-15\"\n      }\n    ]\n  }\n}"

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

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation?client_id=client_id")
  .header("Authorization", "Bearer <token>")
  .header("payloadType", "payloadType")
  .header("Content-Type", "application/xml")
  .body("{\n  \"CstmrDrctDbtInitn\": {\n    \"GrpHdr\": {\n      \"CreDtTm\": \"2024-01-15T09:30:00Z\",\n      \"InitgPty\": {},\n      \"MsgId\": \"string\",\n      \"NbOfTxs\": \"string\"\n    },\n    \"PmtInf\": [\n      {\n        \"DrctDbtTxInf\": [\n          {\n            \"PmtId\": {\n              \"EndToEndId\": \"string\"\n            },\n            \"InstdAmt\": {},\n            \"DbtrAcct\": {\n              \"Id\": {\n                \"IBAN\": \"string\",\n                \"Othr\": {\n                  \"Id\": \"string\"\n                }\n              }\n            },\n            \"DbtrAgt\": {\n              \"FinInstnId\": {}\n            }\n          }\n        ],\n        \"Cdtr\": {},\n        \"CdtrAcct\": {\n          \"Id\": {\n            \"IBAN\": \"string\",\n            \"Othr\": {\n              \"Id\": \"string\"\n            }\n          }\n        },\n        \"CdtrAgt\": {\n          \"FinInstnId\": {}\n        },\n        \"PmtInfId\": \"string\",\n        \"PmtMtd\": \"DD\",\n        \"ReqdColltnDt\": \"2023-01-15\"\n      }\n    ]\n  }\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation?client_id=client_id', [
  'body' => '{
  "CstmrDrctDbtInitn": {
    "GrpHdr": {
      "CreDtTm": "2024-01-15T09:30:00Z",
      "InitgPty": {},
      "MsgId": "string",
      "NbOfTxs": "string"
    },
    "PmtInf": [
      {
        "DrctDbtTxInf": [
          {
            "PmtId": {
              "EndToEndId": "string"
            },
            "InstdAmt": {},
            "DbtrAcct": {
              "Id": {
                "IBAN": "string",
                "Othr": {
                  "Id": "string"
                }
              }
            },
            "DbtrAgt": {
              "FinInstnId": {}
            }
          }
        ],
        "Cdtr": {},
        "CdtrAcct": {
          "Id": {
            "IBAN": "string",
            "Othr": {
              "Id": "string"
            }
          }
        },
        "CdtrAgt": {
          "FinInstnId": {}
        },
        "PmtInfId": "string",
        "PmtMtd": "DD",
        "ReqdColltnDt": "2023-01-15"
      }
    ]
  }
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/xml',
    'payloadType' => 'payloadType',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation?client_id=client_id");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("payloadType", "payloadType");
request.AddHeader("Content-Type", "application/xml");
request.AddParameter("application/xml", "{\n  \"CstmrDrctDbtInitn\": {\n    \"GrpHdr\": {\n      \"CreDtTm\": \"2024-01-15T09:30:00Z\",\n      \"InitgPty\": {},\n      \"MsgId\": \"string\",\n      \"NbOfTxs\": \"string\"\n    },\n    \"PmtInf\": [\n      {\n        \"DrctDbtTxInf\": [\n          {\n            \"PmtId\": {\n              \"EndToEndId\": \"string\"\n            },\n            \"InstdAmt\": {},\n            \"DbtrAcct\": {\n              \"Id\": {\n                \"IBAN\": \"string\",\n                \"Othr\": {\n                  \"Id\": \"string\"\n                }\n              }\n            },\n            \"DbtrAgt\": {\n              \"FinInstnId\": {}\n            }\n          }\n        ],\n        \"Cdtr\": {},\n        \"CdtrAcct\": {\n          \"Id\": {\n            \"IBAN\": \"string\",\n            \"Othr\": {\n              \"Id\": \"string\"\n            }\n          }\n        },\n        \"CdtrAgt\": {\n          \"FinInstnId\": {}\n        },\n        \"PmtInfId\": \"string\",\n        \"PmtMtd\": \"DD\",\n        \"ReqdColltnDt\": \"2023-01-15\"\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "payloadType": "payloadType",
  "Content-Type": "application/xml"
]

let postData = NSData(data: "{
  "CstmrDrctDbtInitn": {
    "GrpHdr": {
      "CreDtTm": "2024-01-15T09:30:00Z",
      "InitgPty": {},
      "MsgId": "string",
      "NbOfTxs": "string"
    },
    "PmtInf": [
      {
        "DrctDbtTxInf": [
          {
            "PmtId": {
              "EndToEndId": "string"
            },
            "InstdAmt": {},
            "DbtrAcct": {
              "Id": {
                "IBAN": "string",
                "Othr": {
                  "Id": "string"
                }
              }
            },
            "DbtrAgt": {
              "FinInstnId": {}
            }
          }
        ],
        "Cdtr": {},
        "CdtrAcct": {
          "Id": {
            "IBAN": "string",
            "Othr": {
              "Id": "string"
            }
          }
        },
        "CdtrAgt": {
          "FinInstnId": {}
        },
        "PmtInfId": "string",
        "PmtMtd": "DD",
        "ReqdColltnDt": "2023-01-15"
      }
    ]
  }
}".data(using: String.Encoding.utf8)!)

let request = NSMutableURLRequest(url: NSURL(string: "https://tts.sit.apib2b.citi.com/citiconnect/sit5/paymentinitiation/v3/payment/initiation?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()
```