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

# Update, Add, or Remove Merchant and Beneficiary Details Associated with a Specific Payer ID

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

This endpoint can update, add, or remove assignee details of a particular Payer ID.

Reference: https://citi-demo.ferndocs.com/enterprise/enterprises/api-reference/payment-acceptance/payer-id-management-services/payer-id/payer-id-update-assignee-details

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

## Request

### Query parameters

- `payerid-number` (string, required) — Unique number assigned for payers and beneficiaries to identify incoming payments.
- `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.

### Body (application/json)

This endpoint expects a PayerIdUpdateAssigneeRequest.

- `country_code` (string, required) — The ISO country code specifying the country where the account is held. For example, if we receive a request for Germany then the county code is `DE`. For France, it is `FR`. The list of allowed country codes are: `DE` - Germany `FR` - France `GB` - Great Britain `IE` - Ireland`NL` - Netherlands`US` - United States`CA` - Canada `HK` - Hong Kong `SG` - Singapore`AU` - Australia
- `party_type_details` (enum, required) — Account party type details. Allowed account part type values are: `S` - sole trader, which is an enterprise owned or run by a single person. `C` - a company that is owned by an organization or business entity
  - Allowed values: `C`, `S`
- `merchant` (MerchantDetails, optional)
- `beneficiary` (list of BeneficiaryDetails, optional)

## Response

### 202

Accepted

- `status_code` (string, required) — Status of the request sent as synchronous response to client. Status code will have value as `PIPND`.
- `status_description` (string, required) — Incoming request acknowledgement message, example as `Payer ID Update assignee request is in-progress`.
- `request_id` (string, required) — Auto-generated unique identifier assigned for the incoming request.

## Errors

### 400 Bad Request Error

Bad Request

- `ref_id` (string, optional) — Unique identifier which can be used to track your request.
- `error_details` (list of PayerIdErrorDetail, optional)

### 401 Unauthorized Error

Unauthorized

- `ref_id` (string, optional) — Unique identifier which can be used to track your request.
- `error_details` (list of PayerIdErrorDetail, optional)

### 405 Method Not Allowed Error

Method Not Allowed

- `ref_id` (string, optional) — Unique identifier which can be used to track your request.
- `error_details` (list of PayerIdErrorDetail, optional)

### 415 Unsupported Media Type Error

Unsupported Media Type

- `ref_id` (string, optional) — Unique identifier which can be used to track your request.
- `error_details` (list of PayerIdErrorDetail, optional)

### 500 Internal Server Error

Internal Server Error

- `ref_id` (string, optional) — Unique identifier which can be used to track your request.
- `error_details` (list of PayerIdErrorDetail, optional)

## Types

### MerchantDetails

- `address` (string, optional) — The merchant or beneficiary address.
- `zipcode` (string, optional) — The merchant or beneficiary zip code.
- `city` (string, optional) — The merchant or beneficiary city.
- `state` (string, optional) — The merchant or beneficiary state.
- `country_code` (string, optional) — The ISO country code specifying the country where the account is held. For example, if we receive a request for Germany then the county code is `DE`. For France, it is `FR`. The list of allowed country codes are: `DE` - Germany `FR` - France `GB` - Great Britain `IE` - Ireland`NL` - Netherlands`US` - United States`CA` - Canada `HK` - Hong Kong `SG` - Singapore`AU` - Australia
- `name_1` (string, optional) — The last name or company name. For 'sole trader', include the last name. For 'company', include the company name.
- `name_2` (string, optional) — For 'sole trader', include the first name. For 'company', leave blank or include the second line of the company name.
- `date` (date, optional) — The sole trader's date of birth or the identification of the company's date of incorporation. This parameter follows the ISO format and is a fixed 10-digit format (YYYY-MM-DD).
- `tax_identifier` (string, optional) — The merchant's tax identifier based on country.
- `website` (string, optional) — The merchant's profile, website, or storefront.

### BeneficiaryDetails

- `address` (string, optional) — The merchant or beneficiary address.
- `zipcode` (string, optional) — The merchant or beneficiary zip code.
- `city` (string, optional) — The merchant or beneficiary city.
- `state` (string, optional) — The merchant or beneficiary state.
- `country_code` (string, optional) — The ISO country code specifying the country where the account is held. For example, if we receive a request for Germany then the county code is `DE`. For France, it is `FR`. The list of allowed country codes are: `DE` - Germany `FR` - France `GB` - Great Britain `IE` - Ireland`NL` - Netherlands`US` - United States`CA` - Canada `HK` - Hong Kong `SG` - Singapore`AU` - Australia
- `beneficiary_id` (string, optional) — Unique ID for a beneficiary.
- `last_name` (string, optional) — The beneficiary owner's last name.
- `middle_name` (string, optional) — The beneficiary owner's middle name.
- `first_name` (string, optional) — The beneficiary owner's first name.
- `dob` (date, optional) — The beneficial owner's date of birth. As per ISO format, this parameter is in a fixed 10-digit format (YYYY-MM-DD).
- `tax_identifier` (string, optional) — Identification of last name of the individual or last name of company for the sole trader.

### PayerIdErrorDetail

- `issue` (string, optional) — More information about the issue.
- `action` (string, optional) — The corrective action to be taken to resolve the issue.
- `code` (string, optional) — Error category that provides more details on error types.

## Examples

### OkResponseExampleForUpdateAssigneedetails

**Response**

```json
{
  "status_code": "PIPND",
  "status_description": "Payer ID update assignee request is in progress.",
  "request_id": "9801bac6a4c74662ae78136bd4eba462"
}
```

**SDK Code**

```python OkResponseExampleForUpdateAssigneedetails
import requests

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

querystring = {"client_id":"898918181818181aczta","payerid-number":"payerid-number"}

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

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

print(response.json())
```

```javascript OkResponseExampleForUpdateAssigneedetails
const url = 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number';
const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};

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

```go OkResponseExampleForUpdateAssigneedetails
package main

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

func main() {

	url := "https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number"

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

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

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

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

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

}
```

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

url = URI("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number")

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

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

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

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

HttpResponse<String> response = Unirest.put("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number")
  .header("Authorization", "Bearer <token>")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

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

```csharp OkResponseExampleForUpdateAssigneedetails
using RestSharp;

var client = new RestClient("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number");
var request = new RestRequest(Method.PUT);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift OkResponseExampleForUpdateAssigneedetails
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers

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

dataTask.resume()
```

### PayerIDAddRemoveUpdateAssigneeRequestExample

**Request**

```json
{
  "country_code": "HK",
  "party_type_details": "C",
  "merchant": {
    "address": "XXX, 123",
    "zipcode": "1234573",
    "city": "ABCDEFHG",
    "state": "XXX",
    "country_code": "GB",
    "name_1": "XXX",
    "name_2": "YYY",
    "date": "2022-02-28",
    "tax_identifier": "12345678",
    "website": "http://www.abc.com"
  },
  "beneficiary": [
    {
      "address": "SAN STREET 878",
      "zipcode": "545432678",
      "city": "Paris",
      "state": "PPP",
      "country_code": "GB",
      "beneficiary_id": "123456",
      "last_name": "YYY",
      "middle_name": "ZZZ",
      "first_name": "HHH",
      "dob": "2023-02-28"
    },
    {
      "address": "SAN STREET 123",
      "zipcode": "4657898",
      "city": "London",
      "state": "XXX",
      "country_code": "GB",
      "beneficiary_id": "888888",
      "last_name": "YYY",
      "middle_name": "ZZZ",
      "first_name": "AAA",
      "dob": "2022-02-28",
      "tax_identifier": "12345676"
    },
    {
      "address": "SAN STREET 666",
      "zipcode": "09090909",
      "city": "Barbados",
      "state": "NJNJ",
      "country_code": "HK",
      "last_name": "BBB",
      "middle_name": "JJJ",
      "first_name": "VVV",
      "dob": "2020-02-28",
      "tax_identifier": "12345676"
    }
  ]
}
```

**Response**

```json
{
  "status_code": "PIPND",
  "status_description": "Payer ID update assignee request is in progress.",
  "request_id": "9801bac6a4c74662ae78136bd4eba462"
}
```

**SDK Code**

```python PayerIDAddRemoveUpdateAssigneeRequestExample
import requests

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

querystring = {"client_id":"898918181818181aczta","payerid-number":"payerid-number"}

payload = {
    "country_code": "HK",
    "party_type_details": "C",
    "merchant": {
        "address": "XXX, 123",
        "zipcode": "1234573",
        "city": "ABCDEFHG",
        "state": "XXX",
        "country_code": "GB",
        "name_1": "XXX",
        "name_2": "YYY",
        "date": "2022-02-28",
        "tax_identifier": "12345678",
        "website": "http://www.abc.com"
    },
    "beneficiary": [
        {
            "address": "SAN STREET 878",
            "zipcode": "545432678",
            "city": "Paris",
            "state": "PPP",
            "country_code": "GB",
            "beneficiary_id": "123456",
            "last_name": "YYY",
            "middle_name": "ZZZ",
            "first_name": "HHH",
            "dob": "2023-02-28"
        },
        {
            "address": "SAN STREET 123",
            "zipcode": "4657898",
            "city": "London",
            "state": "XXX",
            "country_code": "GB",
            "beneficiary_id": "888888",
            "last_name": "YYY",
            "middle_name": "ZZZ",
            "first_name": "AAA",
            "dob": "2022-02-28",
            "tax_identifier": "12345676"
        },
        {
            "address": "SAN STREET 666",
            "zipcode": "09090909",
            "city": "Barbados",
            "state": "NJNJ",
            "country_code": "HK",
            "last_name": "BBB",
            "middle_name": "JJJ",
            "first_name": "VVV",
            "dob": "2020-02-28",
            "tax_identifier": "12345676"
        }
    ]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript PayerIDAddRemoveUpdateAssigneeRequestExample
const url = 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number';
const options = {
  method: 'PUT',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"country_code":"HK","party_type_details":"C","merchant":{"address":"XXX, 123","zipcode":"1234573","city":"ABCDEFHG","state":"XXX","country_code":"GB","name_1":"XXX","name_2":"YYY","date":"2022-02-28","tax_identifier":"12345678","website":"http://www.abc.com"},"beneficiary":[{"address":"SAN STREET 878","zipcode":"545432678","city":"Paris","state":"PPP","country_code":"GB","beneficiary_id":"123456","last_name":"YYY","middle_name":"ZZZ","first_name":"HHH","dob":"2023-02-28"},{"address":"SAN STREET 123","zipcode":"4657898","city":"London","state":"XXX","country_code":"GB","beneficiary_id":"888888","last_name":"YYY","middle_name":"ZZZ","first_name":"AAA","dob":"2022-02-28","tax_identifier":"12345676"},{"address":"SAN STREET 666","zipcode":"09090909","city":"Barbados","state":"NJNJ","country_code":"HK","last_name":"BBB","middle_name":"JJJ","first_name":"VVV","dob":"2020-02-28","tax_identifier":"12345676"}]}'
};

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

```go PayerIDAddRemoveUpdateAssigneeRequestExample
package main

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

func main() {

	url := "https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number"

	payload := strings.NewReader("{\n  \"country_code\": \"HK\",\n  \"party_type_details\": \"C\",\n  \"merchant\": {\n    \"address\": \"XXX, 123\",\n    \"zipcode\": \"1234573\",\n    \"city\": \"ABCDEFHG\",\n    \"state\": \"XXX\",\n    \"country_code\": \"GB\",\n    \"name_1\": \"XXX\",\n    \"name_2\": \"YYY\",\n    \"date\": \"2022-02-28\",\n    \"tax_identifier\": \"12345678\",\n    \"website\": \"http://www.abc.com\"\n  },\n  \"beneficiary\": [\n    {\n      \"address\": \"SAN STREET 878\",\n      \"zipcode\": \"545432678\",\n      \"city\": \"Paris\",\n      \"state\": \"PPP\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"123456\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"HHH\",\n      \"dob\": \"2023-02-28\"\n    },\n    {\n      \"address\": \"SAN STREET 123\",\n      \"zipcode\": \"4657898\",\n      \"city\": \"London\",\n      \"state\": \"XXX\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"888888\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"AAA\",\n      \"dob\": \"2022-02-28\",\n      \"tax_identifier\": \"12345676\"\n    },\n    {\n      \"address\": \"SAN STREET 666\",\n      \"zipcode\": \"09090909\",\n      \"city\": \"Barbados\",\n      \"state\": \"NJNJ\",\n      \"country_code\": \"HK\",\n      \"last_name\": \"BBB\",\n      \"middle_name\": \"JJJ\",\n      \"first_name\": \"VVV\",\n      \"dob\": \"2020-02-28\",\n      \"tax_identifier\": \"12345676\"\n    }\n  ]\n}")

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

	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 PayerIDAddRemoveUpdateAssigneeRequestExample
require 'uri'
require 'net/http'

url = URI("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number")

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

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"country_code\": \"HK\",\n  \"party_type_details\": \"C\",\n  \"merchant\": {\n    \"address\": \"XXX, 123\",\n    \"zipcode\": \"1234573\",\n    \"city\": \"ABCDEFHG\",\n    \"state\": \"XXX\",\n    \"country_code\": \"GB\",\n    \"name_1\": \"XXX\",\n    \"name_2\": \"YYY\",\n    \"date\": \"2022-02-28\",\n    \"tax_identifier\": \"12345678\",\n    \"website\": \"http://www.abc.com\"\n  },\n  \"beneficiary\": [\n    {\n      \"address\": \"SAN STREET 878\",\n      \"zipcode\": \"545432678\",\n      \"city\": \"Paris\",\n      \"state\": \"PPP\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"123456\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"HHH\",\n      \"dob\": \"2023-02-28\"\n    },\n    {\n      \"address\": \"SAN STREET 123\",\n      \"zipcode\": \"4657898\",\n      \"city\": \"London\",\n      \"state\": \"XXX\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"888888\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"AAA\",\n      \"dob\": \"2022-02-28\",\n      \"tax_identifier\": \"12345676\"\n    },\n    {\n      \"address\": \"SAN STREET 666\",\n      \"zipcode\": \"09090909\",\n      \"city\": \"Barbados\",\n      \"state\": \"NJNJ\",\n      \"country_code\": \"HK\",\n      \"last_name\": \"BBB\",\n      \"middle_name\": \"JJJ\",\n      \"first_name\": \"VVV\",\n      \"dob\": \"2020-02-28\",\n      \"tax_identifier\": \"12345676\"\n    }\n  ]\n}"

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

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

HttpResponse<String> response = Unirest.put("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"country_code\": \"HK\",\n  \"party_type_details\": \"C\",\n  \"merchant\": {\n    \"address\": \"XXX, 123\",\n    \"zipcode\": \"1234573\",\n    \"city\": \"ABCDEFHG\",\n    \"state\": \"XXX\",\n    \"country_code\": \"GB\",\n    \"name_1\": \"XXX\",\n    \"name_2\": \"YYY\",\n    \"date\": \"2022-02-28\",\n    \"tax_identifier\": \"12345678\",\n    \"website\": \"http://www.abc.com\"\n  },\n  \"beneficiary\": [\n    {\n      \"address\": \"SAN STREET 878\",\n      \"zipcode\": \"545432678\",\n      \"city\": \"Paris\",\n      \"state\": \"PPP\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"123456\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"HHH\",\n      \"dob\": \"2023-02-28\"\n    },\n    {\n      \"address\": \"SAN STREET 123\",\n      \"zipcode\": \"4657898\",\n      \"city\": \"London\",\n      \"state\": \"XXX\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"888888\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"AAA\",\n      \"dob\": \"2022-02-28\",\n      \"tax_identifier\": \"12345676\"\n    },\n    {\n      \"address\": \"SAN STREET 666\",\n      \"zipcode\": \"09090909\",\n      \"city\": \"Barbados\",\n      \"state\": \"NJNJ\",\n      \"country_code\": \"HK\",\n      \"last_name\": \"BBB\",\n      \"middle_name\": \"JJJ\",\n      \"first_name\": \"VVV\",\n      \"dob\": \"2020-02-28\",\n      \"tax_identifier\": \"12345676\"\n    }\n  ]\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number', [
  'body' => '{
  "country_code": "HK",
  "party_type_details": "C",
  "merchant": {
    "address": "XXX, 123",
    "zipcode": "1234573",
    "city": "ABCDEFHG",
    "state": "XXX",
    "country_code": "GB",
    "name_1": "XXX",
    "name_2": "YYY",
    "date": "2022-02-28",
    "tax_identifier": "12345678",
    "website": "http://www.abc.com"
  },
  "beneficiary": [
    {
      "address": "SAN STREET 878",
      "zipcode": "545432678",
      "city": "Paris",
      "state": "PPP",
      "country_code": "GB",
      "beneficiary_id": "123456",
      "last_name": "YYY",
      "middle_name": "ZZZ",
      "first_name": "HHH",
      "dob": "2023-02-28"
    },
    {
      "address": "SAN STREET 123",
      "zipcode": "4657898",
      "city": "London",
      "state": "XXX",
      "country_code": "GB",
      "beneficiary_id": "888888",
      "last_name": "YYY",
      "middle_name": "ZZZ",
      "first_name": "AAA",
      "dob": "2022-02-28",
      "tax_identifier": "12345676"
    },
    {
      "address": "SAN STREET 666",
      "zipcode": "09090909",
      "city": "Barbados",
      "state": "NJNJ",
      "country_code": "HK",
      "last_name": "BBB",
      "middle_name": "JJJ",
      "first_name": "VVV",
      "dob": "2020-02-28",
      "tax_identifier": "12345676"
    }
  ]
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp PayerIDAddRemoveUpdateAssigneeRequestExample
using RestSharp;

var client = new RestClient("https://tts.sit.apib2b.citi.com/citiconnect/sit5/receivablesservices/v1/payerids?client_id=898918181818181aczta&payerid-number=payerid-number");
var request = new RestRequest(Method.PUT);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"country_code\": \"HK\",\n  \"party_type_details\": \"C\",\n  \"merchant\": {\n    \"address\": \"XXX, 123\",\n    \"zipcode\": \"1234573\",\n    \"city\": \"ABCDEFHG\",\n    \"state\": \"XXX\",\n    \"country_code\": \"GB\",\n    \"name_1\": \"XXX\",\n    \"name_2\": \"YYY\",\n    \"date\": \"2022-02-28\",\n    \"tax_identifier\": \"12345678\",\n    \"website\": \"http://www.abc.com\"\n  },\n  \"beneficiary\": [\n    {\n      \"address\": \"SAN STREET 878\",\n      \"zipcode\": \"545432678\",\n      \"city\": \"Paris\",\n      \"state\": \"PPP\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"123456\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"HHH\",\n      \"dob\": \"2023-02-28\"\n    },\n    {\n      \"address\": \"SAN STREET 123\",\n      \"zipcode\": \"4657898\",\n      \"city\": \"London\",\n      \"state\": \"XXX\",\n      \"country_code\": \"GB\",\n      \"beneficiary_id\": \"888888\",\n      \"last_name\": \"YYY\",\n      \"middle_name\": \"ZZZ\",\n      \"first_name\": \"AAA\",\n      \"dob\": \"2022-02-28\",\n      \"tax_identifier\": \"12345676\"\n    },\n    {\n      \"address\": \"SAN STREET 666\",\n      \"zipcode\": \"09090909\",\n      \"city\": \"Barbados\",\n      \"state\": \"NJNJ\",\n      \"country_code\": \"HK\",\n      \"last_name\": \"BBB\",\n      \"middle_name\": \"JJJ\",\n      \"first_name\": \"VVV\",\n      \"dob\": \"2020-02-28\",\n      \"tax_identifier\": \"12345676\"\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift PayerIDAddRemoveUpdateAssigneeRequestExample
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "country_code": "HK",
  "party_type_details": "C",
  "merchant": [
    "address": "XXX, 123",
    "zipcode": "1234573",
    "city": "ABCDEFHG",
    "state": "XXX",
    "country_code": "GB",
    "name_1": "XXX",
    "name_2": "YYY",
    "date": "2022-02-28",
    "tax_identifier": "12345678",
    "website": "http://www.abc.com"
  ],
  "beneficiary": [
    [
      "address": "SAN STREET 878",
      "zipcode": "545432678",
      "city": "Paris",
      "state": "PPP",
      "country_code": "GB",
      "beneficiary_id": "123456",
      "last_name": "YYY",
      "middle_name": "ZZZ",
      "first_name": "HHH",
      "dob": "2023-02-28"
    ],
    [
      "address": "SAN STREET 123",
      "zipcode": "4657898",
      "city": "London",
      "state": "XXX",
      "country_code": "GB",
      "beneficiary_id": "888888",
      "last_name": "YYY",
      "middle_name": "ZZZ",
      "first_name": "AAA",
      "dob": "2022-02-28",
      "tax_identifier": "12345676"
    ],
    [
      "address": "SAN STREET 666",
      "zipcode": "09090909",
      "city": "Barbados",
      "state": "NJNJ",
      "country_code": "HK",
      "last_name": "BBB",
      "middle_name": "JJJ",
      "first_name": "VVV",
      "dob": "2020-02-28",
      "tax_identifier": "12345676"
    ]
  ]
] 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/payerids?client_id=898918181818181aczta&payerid-number=payerid-number")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
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()
```