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

# Initiate Direct Debit Transactions

POST https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits
Content-Type: application/json

This endpoint allows you to initiate a direct debit transaction.

Reference: https://citi-demo.ferndocs.com/enterprises/api-reference/payment-acceptance/direct-debit/instant-direct-debit/initiation-request

## 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://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices` (dev gateway url, default)
- `https://tts.sit.apib2b.citi.com/citiconnect/uat1/receivablesservices` (uat gateway url)
- `https://tts.apib2b.citi.com/citiconnect/prod/receivablesservices` (production gateway url)
- `https://tts.sandbox.apib2b.citi.com/citiconnect/sb/receivablesservices` (sandbox gateway url)

## Request

### Query parameters

- `client_id` (string, required) — Unique reference which was shared during CitiConnect API on-boarding (`ClientId` which used during oauth token generation).

### Headers

- `Idempotency-Id` (string, required) — Your unique identification for a POST request for CitiConnect API to perform idempotency check. Same `client_ID` is to be maintained by the client, if client wants to retry request within 48 hours.

### Body (application/json)

This endpoint expects an Idd-Request.

- `debtor` (Debtor, required)
- `creditor` (Creditor, required)
- `method` (Method, required)
- `transaction` (Transaction, required)
- `initiating_party` (Initiating-Party, optional)
- `mandate_details` (Mandate-Details, optional)
- `ultimate` (Ultimate, optional)

## Response

### 200

OK

- `debtor` (Debtor, optional)
- `creditor` (Creditor, optional)
- `initiating_party` (Initiating-Party, optional)
- `method` (Method, optional)
- `transaction` (Transaction, optional)
- `mandate_details` (Mandate-Details, optional)
- `ultimate` (Ultimate, optional)
- `transaction_status` (IddResponseTransactionStatus, optional)

## Errors

### 400 Bad Request Error

Bad Request

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)
- `errors` (list of Error-Detail, optional)
- `httpCode` (string, optional)
- `httpMessage` (string, optional)
- `moreInformation` (string, optional)
- `status` (string, optional)
- `message` (string, optional)

### 401 Unauthorized Error

Unauthorized

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)
- `errors` (list of Error-Detail, optional)
- `httpCode` (string, optional)
- `httpMessage` (string, optional)
- `moreInformation` (string, optional)
- `status` (string, optional)
- `message` (string, optional)

### 403 Forbidden Error

Forbidden

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)
- `errors` (list of Error-Detail, optional)
- `httpCode` (string, optional)
- `httpMessage` (string, optional)
- `moreInformation` (string, optional)
- `status` (string, optional)
- `message` (string, optional)

### 404 Not Found Error

Not Found

- `httpCode` (string, optional) — http staus code of this API
- `httpMessage` (string, optional) — short message about the issue
- `moreInformation` (string, optional) — more information about the issue
- `ref_id` (string, optional)
- `error_details` (list of Error-Detail, optional)

### 405 Method Not Allowed Error

Method Not Allowed

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)
- `errors` (list of Error-Detail, optional)
- `httpCode` (string, optional)
- `httpMessage` (string, optional)
- `moreInformation` (string, optional)
- `status` (string, optional)
- `message` (string, optional)

### 409 Conflict Error

Conflict

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)
- `errors` (list of Error-Detail, optional)
- `httpCode` (string, optional)
- `httpMessage` (string, optional)
- `moreInformation` (string, optional)
- `status` (string, optional)
- `message` (string, optional)

### 415 Unsupported Media Type Error

Unsupported Media Type

- `httpCode` (string, optional) — http staus code of this API
- `httpMessage` (string, optional) — short message about the issue
- `moreInformation` (string, optional) — more information about the issue
- `ref_id` (string, optional)
- `error_details` (list of Error-Detail, optional)

### 429 Too Many Requests Error

Too Many Request

- `status` (string, optional) — Http status code of this API response
- `message` (string, optional) — Short message about the issue

### 500 Internal Server Error

Internal Server Error

- `ref_id` (string, optional) — Unique ID for the Transaction
- `error_details` (list of Error-Detail, optional)
- `errors` (list of Error-Detail, optional)
- `httpCode` (string, optional)
- `httpMessage` (string, optional)
- `moreInformation` (string, optional)
- `status` (string, optional)
- `message` (string, optional)

## Types

### Debtor

- `name` (string, required) — Specify the name by which a party is known and which is usually used to identify that party.
- `account_type` (enum, required) — Specify the name of the identification scheme, in a coded form as published in an external list. Possible values are: AIIN -IssuerIdentificationNumberBBAN - BBANIdentifierCUID - CHIPSUniversalIdentifierUPIC - UPICIdentifierALIA - Alias (proxy) For Australia only below values are possible \[BBAN, ALIA]
  - Allowed values: `AIIN`, `BBAN`, `CUID`, `UPIC`, `ALIA`
- `account` (string, optional) — Specify the identification of the account of the debtor to which a debit entry will be posted as a result of the payment transaction. For Australia its a conditional parameter if account_type value = BBAN.
- `proxy_type` (enum, optional) — Specify the name of the identification scheme, in a coded form as published in an external list. If account type is ALIA this parameter is mandatory. Possible values are:TELE - TelephoneNumberEMAL - EmailAddressDNAM - DomainNameCINC - CertificateOfIncorporationNumberCOTX - CorporateTaxIdentificationCOID - CountryAuthorityIdentificationCUST - CustomerIdentificationNumberDRLC-DriverLicenseNumberEIDN - ElectronicIdentificationEWAL - EWalletIdentificationPVTX - IndividualTaxIdentificationLEIC - LegalEntityIdentifierCodeMBNO - MobilePhoneNumberNIDN - NationalIdentificationNumberCCPT - PassportNumberSHID - SchemeIdentificationNumberSOSE - SocialSecurityNumberTOKN - TokenIdentificationUBIL - UtilitiesSubscriptionIdentificationVIPN - VehicleIdentificationPlateNumberBIID - BillerSubscriberIdentification AUBN - Australian business number ORGN - origination number For Australia only below values are possible \[AUBN, ORGN, TELE, EMAL]
  - Allowed values: `TELE`, `EMAL`, `DNAM`, `CINC`, `COTX`, `COID`, `CUST`, `DRLC`, `EIDN`, `EWAL`, `PVTX`, `LEIC`, `MBNO`, `NIDN`, `CCPT`, `SHID`, `SOSE`, `TOKN`, `UBIL`, `VIPN`, `BIID`, `AUBN`, `ORGN`
- `proxy_id` (string, optional) — Specify the Identification used to indicate the account identification under another specified name. If account type is ALIA this parameter is mandatory.
- `bank_branch_code` (string, optional) — Specify the 6-digit BSB or 9-digit account identification assigned by the entity. Required only when country = AU and account\_type = BBAN.
- `bank_routing_code` (string, optional) — Specify the 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) \<BR> Mandatory for Australia.

### Creditor

- `account_type` (enum, required) — Specify the name of the identification scheme. Possible values are: below AIIN -IssuerIdentificationNumberBBAN- BBANIdentifierCUID -CHIPSUniversalIdentifierUPIC- UPICIdentifierALIA-Alias (proxy) For Australia only below values are possible \[BBAN]
  - Allowed values: `AIIN`, `BBAN`, `CUID`, `UPIC`, `ALIA`
- `name` (string, optional) — Specify the name by which a party is known and which is usually used to identify that party.
- `account` (string, optional) — Specify the identification of the account of the creditor to which a debit entry will be posted as a result of the payment transaction. For Australia its an conditional parameter if account_type value = BBAN.
- `proxy_type` (enum, optional) — Specify the name of the identification scheme. If account type is ALIA this parameter is mandatory. Possible values are belowTELE - TelephoneNumberEMAL - EmailAddressDNAM - DomainNameCINC - CertificateOfIncorporationNumberCOTX - CorporateTaxIdentificationCOID - CountryAuthorityIdentificationCUST - CustomerIdentificationNumberDRLC - DriverLicenseNumberEIDN - ElectronicIdentificationEWAL - EWalletIdentificationPVTX - IndividualTaxIdentificationLEIC - LegalEntityIdentifierCodeMBNO - MobilePhoneNumberNIDN - NationalIdentificationNumberCCPT - PassportNumberSHID - SchemeIdentificationNumberSOSE - SocialSecurityNumberTOKN - TokenIdentificationUBIL - UtilitiesSubscriptionIdentificationVIPN - VehicleIdentificationPlateNumberBIID - BillerSubscriberIdentification
  - Allowed values: `TELE`, `EMAL`, `DNAM`, `CINC`, `COTX`, `COID`, `CUST`, `DRLC`, `EIDN`, `EWAL`, `PVTX`, `LEIC`, `MBNO`, `NIDN`, `CCPT`, `SHID`, `SOSE`, `TOKN`, `UBIL`, `VIPN`, `BIID`
- `proxy_id` (string, optional) — Specify the identification used to indicate the account identification under another specified name. If account type is ALIA this parameter is mandatory.
- `bank_branch_code` (string, optional) — Specify the 6-digit BSB/9 digit account identification assigned by the Entity. Conditinal Mandatory for Australia while account\_type = BBAN.
- `bank_routing_code` (string, optional) — Specify the 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) \<BR> Mandatory for Australia.

### Method

- `country` (string, required) — Specify the country code where the collection request has been originated.
- `instructed_currency` (string, required) — Specify the collection account currency. for Australia accepted value = AUD.
- `payment_method` (enum, required) — Specifies the means of payment that will be used to move the amount of money.\<BR> IP - Instant Payment
  - Allowed values: `IP`
- `payment_type` (enum, required) — Set of elements used to further specify the type of transaction. \<BR> DD - Direct Debit
  - Allowed values: `DD`

### Transaction

- `end_to_end_id` (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. Usage - The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.
- `value_date` (string, required) — Specify the date and time on which the collection request processed (YYYY-MM-DDTHH:MM:SS.SSSZ).
- `instructed_amount` (string, required) — Specify the Fixed amount to be collected from the debtor's account. For Australia only two decimal number is allowed.
- `uetr` (string, optional) — Universal unique identifier to provide an end-to-end reference of a payment transaction. Its Mandatory for Australia.
- `purpose` (string, optional) — Specify the high level purpose of the collection based on a set of predefined categories.\<BR>This parameter is mandatory for Australia. The possible values are: MORT - Mortgage PaymentsUTIL - Utility PaymentsLOAN - Loan PaymentsDEPD - Dependent Support PaymentsGAMP - Gambling PaymentsRETL - Retail PaymentsSALA - Salary PaymentsPERS - Personal PaymentGOVT - Government PaymentsPENS - Pension PaymentsSUPP - Supplier PaymentTAXS - Tax PaymentsOTHR - Other Service Payments
- `bo_service_code` (string, optional) — Specifies a pre-agreed service or level of service between the parties.\<BR>This parameter is mandatory for Australia. The possible values are:sct.01x2p1.01x2p1.02x2p1.03ifti.01
- `additional_info` (string, optional) — Specify the unique identification as assigned by the debtor to the referred document shared with the creditor for its own reference. for Australia if Purpose = SUPP then mention the e-invoice paymentID.
- `instruction_priority` (enum, optional) — Specifies the priority level of an event.\<BR>This parameter is mandatory for Australia. Below are the possible values,UNATNORM
  - Allowed values: `UNAT`, `NORM`
- `unique_superannuation_code` (string, optional) — Specifies a character string with a maximum length of 35 ASCII printable characters.\<BR>for Australia. If Purporse = PENS, then `unique_superannuation_code` and `unique_superannuation_identification` should be mandatory, else both parameters or optional even the Purpose = PENS.
- `unique_superannuation_identification` (string, optional) — Specifies a character string with a maximum length of 35 ASCII printable characters.\<BR>for Australia. If Purporse = PENS, then `unique_superannuation_code` and `unique_superannuation_identification` should be mandatory, else both parameters or optional even the Purpose = PENS.

### Initiating-Party

- `name` (string, optional) — Specify the name by which a party is known and which is usually used to identify that party. This parameter is mandatory for Australia.
- `account` (string, optional) — Specify the unique identification of an account, as assigned by the account servicer, using an identification scheme. This parameter is mandatory for Australia.
- `bank_routing_code` (string, optional) — Specify the 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). This parameter is mandatory for Australia and accepted value = CITIAU2XMPS.
- `other_identification_type` (string, optional) — Specify the unique and unambiguous way to identify an organization/private identification. This parameter is mandatory for Australia and accepted values = \[AUBN, AUCN, CUST].
- `other_identification` (string, optional) — Specify the value of an organization/private identification. This parameter is mandatory for Australia.

### Mandate-Details

- `mandate_id` (string, optional) — Specify unique identification, as assigned by the clearing scheme, to unambiguously identify the mandate.\<BR> This parameter is mandatory for Australia.

### Ultimate

- `ultimate_creditor_name` (string, optional) — Specify the name by which the ultimate creditor is known and which is usually used to identify that party.\<BR> This parameter is mandatory for Australia, If Purporse = PENS and `unique_superannuation_code` and `unique_superannuation_identification` parameters are present.
- `ultimate_debtor_name` (string, optional) — Specify the name by which the ultimate debtor is known and which is usually used to identify that party.

### IddResponseTransactionStatus

- `status` (string, optional) — This parameter will have the current status of the iniated direct debit transaction. Possible vaule ACCC, ACSC, ACSP, PDNG and RJCT
- `status_date_time` (string, optional) — This parameter will have the date and time of the last updated status (YYYY-MM-DDTHH:MM:SS.SSSZ).

### Error-Detail

- `code` (string, optional) — Unique ID for the error code
- `issue` (string, optional) — more details about the issue
- `action` (string, optional) — corrective action to be taken to resolve above issue

## Examples

**Request**

```json
{
  "debtor": {
    "name": "Shan",
    "account_type": "AIIN",
    "account": "3459284",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "CHN0IN0D00A"
  },
  "creditor": {
    "account_type": "AIIN",
    "name": "John",
    "account": "473628234",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "MUM0IN0C00G"
  },
  "method": {
    "country": "AU",
    "instructed_currency": "AUD",
    "payment_method": "IP",
    "payment_type": "DD"
  },
  "transaction": {
    "end_to_end_id": "AUDIDD343D",
    "value_date": "2022-07-21T17:32:16.258Z",
    "instructed_amount": "3423.54",
    "uetr": "0c4fb98b-d77a-4468-96bb-0c88b3b8f75a",
    "purpose": "MORT",
    "bo_service_code": "x2p1.01",
    "additional_info": "AU IDD request",
    "instruction_priority": "UNAT",
    "unique_superannuation_code": "12345",
    "unique_superannuation_identification": "test one"
  },
  "initiating_party": {
    "name": "Sean",
    "account": "3213423",
    "bank_routing_code": "VAS0IN0S00H",
    "other_identification_type": "AUBN",
    "other_identification": "AU1SACITIAU2XXXX"
  },
  "mandate_details": {
    "mandate_id": "3461fa9f03fe4268b5da93bf8203ad70"
  },
  "ultimate": {
    "ultimate_creditor_name": "creditor Australia",
    "ultimate_debtor_name": "debtor Australia"
  }
}
```

**Response**

```json
{
  "debtor": {
    "name": "Shan",
    "account_type": "AIIN",
    "account": "3459284",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "CHN0IN0D00A"
  },
  "creditor": {
    "account_type": "AIIN",
    "name": "John",
    "account": "473628234",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "MUM0IN0C00G"
  },
  "initiating_party": {
    "name": "Sean",
    "account": "3213423",
    "bank_routing_code": "VAS0IN0S00H",
    "other_identification_type": "AUBN",
    "other_identification": "AU1SACITIAU2XXXX"
  },
  "method": {
    "country": "AU",
    "instructed_currency": "AUD",
    "payment_method": "IP",
    "payment_type": "DD"
  },
  "transaction": {
    "end_to_end_id": "AUDIDD343D",
    "value_date": "2022-07-21T17:32:16.258Z",
    "instructed_amount": "3423.54",
    "uetr": "e82540a1-bab9-41f3-b17a-f9b3ee27983f",
    "purpose": "MORT",
    "bo_service_code": "x2p1.01",
    "additional_info": "AU IDD request",
    "instruction_priority": "UNAT",
    "unique_superannuation_code": "12345",
    "unique_superannuation_identification": "test one"
  },
  "mandate_details": {
    "mandate_id": "3461fa9f03fe4268b5da93bf8203ad70"
  },
  "ultimate": {
    "ultimate_creditor_name": "creditor Australia",
    "ultimate_debtor_name": "debtor Australia"
  },
  "transaction_status": {
    "status": "PDNG",
    "status_date_time": "2022-07-21T17:32:11.258Z"
  }
}
```

**SDK Code**

```python initiationRequest_example
import requests

url = "https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits"

querystring = {"client_id":"4683fd9f-03fe-4268-b5da-93bf8203fd91"}

payload = {
    "debtor": {
        "name": "Shan",
        "account_type": "AIIN",
        "account": "3459284",
        "proxy_type": "DNAM",
        "proxy_id": "215264475588455744",
        "bank_branch_code": "3245245",
        "bank_routing_code": "CHN0IN0D00A"
    },
    "creditor": {
        "account_type": "AIIN",
        "name": "John",
        "account": "473628234",
        "proxy_type": "DNAM",
        "proxy_id": "215264475588455744",
        "bank_branch_code": "3245245",
        "bank_routing_code": "MUM0IN0C00G"
    },
    "method": {
        "country": "AU",
        "instructed_currency": "AUD",
        "payment_method": "IP",
        "payment_type": "DD"
    },
    "transaction": {
        "end_to_end_id": "AUDIDD343D",
        "value_date": "2022-07-21T17:32:16.258Z",
        "instructed_amount": "3423.54",
        "uetr": "0c4fb98b-d77a-4468-96bb-0c88b3b8f75a",
        "purpose": "MORT",
        "bo_service_code": "x2p1.01",
        "additional_info": "AU IDD request",
        "instruction_priority": "UNAT",
        "unique_superannuation_code": "12345",
        "unique_superannuation_identification": "test one"
    },
    "initiating_party": {
        "name": "Sean",
        "account": "3213423",
        "bank_routing_code": "VAS0IN0S00H",
        "other_identification_type": "AUBN",
        "other_identification": "AU1SACITIAU2XXXX"
    },
    "mandate_details": { "mandate_id": "3461fa9f03fe4268b5da93bf8203ad70" },
    "ultimate": {
        "ultimate_creditor_name": "creditor Australia",
        "ultimate_debtor_name": "debtor Australia"
    }
}
headers = {
    "Idempotency-Id": "a44cbb60123414bba3bb",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript initiationRequest_example
const url = 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits?client_id=4683fd9f-03fe-4268-b5da-93bf8203fd91';
const options = {
  method: 'POST',
  headers: {
    'Idempotency-Id': 'a44cbb60123414bba3bb',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"debtor":{"name":"Shan","account_type":"AIIN","account":"3459284","proxy_type":"DNAM","proxy_id":"215264475588455744","bank_branch_code":"3245245","bank_routing_code":"CHN0IN0D00A"},"creditor":{"account_type":"AIIN","name":"John","account":"473628234","proxy_type":"DNAM","proxy_id":"215264475588455744","bank_branch_code":"3245245","bank_routing_code":"MUM0IN0C00G"},"method":{"country":"AU","instructed_currency":"AUD","payment_method":"IP","payment_type":"DD"},"transaction":{"end_to_end_id":"AUDIDD343D","value_date":"2022-07-21T17:32:16.258Z","instructed_amount":"3423.54","uetr":"0c4fb98b-d77a-4468-96bb-0c88b3b8f75a","purpose":"MORT","bo_service_code":"x2p1.01","additional_info":"AU IDD request","instruction_priority":"UNAT","unique_superannuation_code":"12345","unique_superannuation_identification":"test one"},"initiating_party":{"name":"Sean","account":"3213423","bank_routing_code":"VAS0IN0S00H","other_identification_type":"AUBN","other_identification":"AU1SACITIAU2XXXX"},"mandate_details":{"mandate_id":"3461fa9f03fe4268b5da93bf8203ad70"},"ultimate":{"ultimate_creditor_name":"creditor Australia","ultimate_debtor_name":"debtor Australia"}}'
};

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

```go initiationRequest_example
package main

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

func main() {

	url := "https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits?client_id=4683fd9f-03fe-4268-b5da-93bf8203fd91"

	payload := strings.NewReader("{\n  \"debtor\": {\n    \"name\": \"Shan\",\n    \"account_type\": \"AIIN\",\n    \"account\": \"3459284\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"CHN0IN0D00A\"\n  },\n  \"creditor\": {\n    \"account_type\": \"AIIN\",\n    \"name\": \"John\",\n    \"account\": \"473628234\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"MUM0IN0C00G\"\n  },\n  \"method\": {\n    \"country\": \"AU\",\n    \"instructed_currency\": \"AUD\",\n    \"payment_method\": \"IP\",\n    \"payment_type\": \"DD\"\n  },\n  \"transaction\": {\n    \"end_to_end_id\": \"AUDIDD343D\",\n    \"value_date\": \"2022-07-21T17:32:16.258Z\",\n    \"instructed_amount\": \"3423.54\",\n    \"uetr\": \"0c4fb98b-d77a-4468-96bb-0c88b3b8f75a\",\n    \"purpose\": \"MORT\",\n    \"bo_service_code\": \"x2p1.01\",\n    \"additional_info\": \"AU IDD request\",\n    \"instruction_priority\": \"UNAT\",\n    \"unique_superannuation_code\": \"12345\",\n    \"unique_superannuation_identification\": \"test one\"\n  },\n  \"initiating_party\": {\n    \"name\": \"Sean\",\n    \"account\": \"3213423\",\n    \"bank_routing_code\": \"VAS0IN0S00H\",\n    \"other_identification_type\": \"AUBN\",\n    \"other_identification\": \"AU1SACITIAU2XXXX\"\n  },\n  \"mandate_details\": {\n    \"mandate_id\": \"3461fa9f03fe4268b5da93bf8203ad70\"\n  },\n  \"ultimate\": {\n    \"ultimate_creditor_name\": \"creditor Australia\",\n    \"ultimate_debtor_name\": \"debtor Australia\"\n  }\n}")

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

	req.Header.Add("Idempotency-Id", "a44cbb60123414bba3bb")
	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 initiationRequest_example
require 'uri'
require 'net/http'

url = URI("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits?client_id=4683fd9f-03fe-4268-b5da-93bf8203fd91")

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

request = Net::HTTP::Post.new(url)
request["Idempotency-Id"] = 'a44cbb60123414bba3bb'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"debtor\": {\n    \"name\": \"Shan\",\n    \"account_type\": \"AIIN\",\n    \"account\": \"3459284\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"CHN0IN0D00A\"\n  },\n  \"creditor\": {\n    \"account_type\": \"AIIN\",\n    \"name\": \"John\",\n    \"account\": \"473628234\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"MUM0IN0C00G\"\n  },\n  \"method\": {\n    \"country\": \"AU\",\n    \"instructed_currency\": \"AUD\",\n    \"payment_method\": \"IP\",\n    \"payment_type\": \"DD\"\n  },\n  \"transaction\": {\n    \"end_to_end_id\": \"AUDIDD343D\",\n    \"value_date\": \"2022-07-21T17:32:16.258Z\",\n    \"instructed_amount\": \"3423.54\",\n    \"uetr\": \"0c4fb98b-d77a-4468-96bb-0c88b3b8f75a\",\n    \"purpose\": \"MORT\",\n    \"bo_service_code\": \"x2p1.01\",\n    \"additional_info\": \"AU IDD request\",\n    \"instruction_priority\": \"UNAT\",\n    \"unique_superannuation_code\": \"12345\",\n    \"unique_superannuation_identification\": \"test one\"\n  },\n  \"initiating_party\": {\n    \"name\": \"Sean\",\n    \"account\": \"3213423\",\n    \"bank_routing_code\": \"VAS0IN0S00H\",\n    \"other_identification_type\": \"AUBN\",\n    \"other_identification\": \"AU1SACITIAU2XXXX\"\n  },\n  \"mandate_details\": {\n    \"mandate_id\": \"3461fa9f03fe4268b5da93bf8203ad70\"\n  },\n  \"ultimate\": {\n    \"ultimate_creditor_name\": \"creditor Australia\",\n    \"ultimate_debtor_name\": \"debtor Australia\"\n  }\n}"

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

```java initiationRequest_example
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/receivablesservices/v1/directdebits?client_id=4683fd9f-03fe-4268-b5da-93bf8203fd91")
  .header("Idempotency-Id", "a44cbb60123414bba3bb")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"debtor\": {\n    \"name\": \"Shan\",\n    \"account_type\": \"AIIN\",\n    \"account\": \"3459284\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"CHN0IN0D00A\"\n  },\n  \"creditor\": {\n    \"account_type\": \"AIIN\",\n    \"name\": \"John\",\n    \"account\": \"473628234\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"MUM0IN0C00G\"\n  },\n  \"method\": {\n    \"country\": \"AU\",\n    \"instructed_currency\": \"AUD\",\n    \"payment_method\": \"IP\",\n    \"payment_type\": \"DD\"\n  },\n  \"transaction\": {\n    \"end_to_end_id\": \"AUDIDD343D\",\n    \"value_date\": \"2022-07-21T17:32:16.258Z\",\n    \"instructed_amount\": \"3423.54\",\n    \"uetr\": \"0c4fb98b-d77a-4468-96bb-0c88b3b8f75a\",\n    \"purpose\": \"MORT\",\n    \"bo_service_code\": \"x2p1.01\",\n    \"additional_info\": \"AU IDD request\",\n    \"instruction_priority\": \"UNAT\",\n    \"unique_superannuation_code\": \"12345\",\n    \"unique_superannuation_identification\": \"test one\"\n  },\n  \"initiating_party\": {\n    \"name\": \"Sean\",\n    \"account\": \"3213423\",\n    \"bank_routing_code\": \"VAS0IN0S00H\",\n    \"other_identification_type\": \"AUBN\",\n    \"other_identification\": \"AU1SACITIAU2XXXX\"\n  },\n  \"mandate_details\": {\n    \"mandate_id\": \"3461fa9f03fe4268b5da93bf8203ad70\"\n  },\n  \"ultimate\": {\n    \"ultimate_creditor_name\": \"creditor Australia\",\n    \"ultimate_debtor_name\": \"debtor Australia\"\n  }\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits?client_id=4683fd9f-03fe-4268-b5da-93bf8203fd91', [
  'body' => '{
  "debtor": {
    "name": "Shan",
    "account_type": "AIIN",
    "account": "3459284",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "CHN0IN0D00A"
  },
  "creditor": {
    "account_type": "AIIN",
    "name": "John",
    "account": "473628234",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "MUM0IN0C00G"
  },
  "method": {
    "country": "AU",
    "instructed_currency": "AUD",
    "payment_method": "IP",
    "payment_type": "DD"
  },
  "transaction": {
    "end_to_end_id": "AUDIDD343D",
    "value_date": "2022-07-21T17:32:16.258Z",
    "instructed_amount": "3423.54",
    "uetr": "0c4fb98b-d77a-4468-96bb-0c88b3b8f75a",
    "purpose": "MORT",
    "bo_service_code": "x2p1.01",
    "additional_info": "AU IDD request",
    "instruction_priority": "UNAT",
    "unique_superannuation_code": "12345",
    "unique_superannuation_identification": "test one"
  },
  "initiating_party": {
    "name": "Sean",
    "account": "3213423",
    "bank_routing_code": "VAS0IN0S00H",
    "other_identification_type": "AUBN",
    "other_identification": "AU1SACITIAU2XXXX"
  },
  "mandate_details": {
    "mandate_id": "3461fa9f03fe4268b5da93bf8203ad70"
  },
  "ultimate": {
    "ultimate_creditor_name": "creditor Australia",
    "ultimate_debtor_name": "debtor Australia"
  }
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
    'Idempotency-Id' => 'a44cbb60123414bba3bb',
  ],
]);

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

```csharp initiationRequest_example
using RestSharp;

var client = new RestClient("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits?client_id=4683fd9f-03fe-4268-b5da-93bf8203fd91");
var request = new RestRequest(Method.POST);
request.AddHeader("Idempotency-Id", "a44cbb60123414bba3bb");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"debtor\": {\n    \"name\": \"Shan\",\n    \"account_type\": \"AIIN\",\n    \"account\": \"3459284\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"CHN0IN0D00A\"\n  },\n  \"creditor\": {\n    \"account_type\": \"AIIN\",\n    \"name\": \"John\",\n    \"account\": \"473628234\",\n    \"proxy_type\": \"DNAM\",\n    \"proxy_id\": \"215264475588455744\",\n    \"bank_branch_code\": \"3245245\",\n    \"bank_routing_code\": \"MUM0IN0C00G\"\n  },\n  \"method\": {\n    \"country\": \"AU\",\n    \"instructed_currency\": \"AUD\",\n    \"payment_method\": \"IP\",\n    \"payment_type\": \"DD\"\n  },\n  \"transaction\": {\n    \"end_to_end_id\": \"AUDIDD343D\",\n    \"value_date\": \"2022-07-21T17:32:16.258Z\",\n    \"instructed_amount\": \"3423.54\",\n    \"uetr\": \"0c4fb98b-d77a-4468-96bb-0c88b3b8f75a\",\n    \"purpose\": \"MORT\",\n    \"bo_service_code\": \"x2p1.01\",\n    \"additional_info\": \"AU IDD request\",\n    \"instruction_priority\": \"UNAT\",\n    \"unique_superannuation_code\": \"12345\",\n    \"unique_superannuation_identification\": \"test one\"\n  },\n  \"initiating_party\": {\n    \"name\": \"Sean\",\n    \"account\": \"3213423\",\n    \"bank_routing_code\": \"VAS0IN0S00H\",\n    \"other_identification_type\": \"AUBN\",\n    \"other_identification\": \"AU1SACITIAU2XXXX\"\n  },\n  \"mandate_details\": {\n    \"mandate_id\": \"3461fa9f03fe4268b5da93bf8203ad70\"\n  },\n  \"ultimate\": {\n    \"ultimate_creditor_name\": \"creditor Australia\",\n    \"ultimate_debtor_name\": \"debtor Australia\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift initiationRequest_example
import Foundation

let headers = [
  "Idempotency-Id": "a44cbb60123414bba3bb",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "debtor": [
    "name": "Shan",
    "account_type": "AIIN",
    "account": "3459284",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "CHN0IN0D00A"
  ],
  "creditor": [
    "account_type": "AIIN",
    "name": "John",
    "account": "473628234",
    "proxy_type": "DNAM",
    "proxy_id": "215264475588455744",
    "bank_branch_code": "3245245",
    "bank_routing_code": "MUM0IN0C00G"
  ],
  "method": [
    "country": "AU",
    "instructed_currency": "AUD",
    "payment_method": "IP",
    "payment_type": "DD"
  ],
  "transaction": [
    "end_to_end_id": "AUDIDD343D",
    "value_date": "2022-07-21T17:32:16.258Z",
    "instructed_amount": "3423.54",
    "uetr": "0c4fb98b-d77a-4468-96bb-0c88b3b8f75a",
    "purpose": "MORT",
    "bo_service_code": "x2p1.01",
    "additional_info": "AU IDD request",
    "instruction_priority": "UNAT",
    "unique_superannuation_code": "12345",
    "unique_superannuation_identification": "test one"
  ],
  "initiating_party": [
    "name": "Sean",
    "account": "3213423",
    "bank_routing_code": "VAS0IN0S00H",
    "other_identification_type": "AUBN",
    "other_identification": "AU1SACITIAU2XXXX"
  ],
  "mandate_details": ["mandate_id": "3461fa9f03fe4268b5da93bf8203ad70"],
  "ultimate": [
    "ultimate_creditor_name": "creditor Australia",
    "ultimate_debtor_name": "debtor Australia"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/directdebits?client_id=4683fd9f-03fe-4268-b5da-93bf8203fd91")! 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()
```