> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidoc-v1.maniscloud.com/llms.txt.
> For full documentation content, see https://apidoc-v1.maniscloud.com/llms-full.txt.

# Add existing beneficiary to a PSP

POST https://api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration
Content-Type: application/json

This API is used to register an existing beneficiary on another PSP

**Request Body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `pspId` | string | Yes | Identifier of the payment provider (e.g., `nium`, `finmo`). |

200 OK

| Field | Type | Description |
| --- | --- | --- |
| `id` | string | Identifier of the beneficiary in manis |
| `customerId` | string | The Customer Id |
| `merchantId` | string | merchant id |
| `type` | string | Beneficiary type: `INDIVIDUAL` or `COMPANY`. |
| `beneficiaryName` | string | A custom internal name for the beneficiary. Must be unique. |
| `companyInfo` | object | Information about the company beneficiary. |
| └─ `name` | string | Company name. |
| └─ `registrationNumber` | string | Company registration number. |
| └─ `incorporationCountry` | string | Country where the company was incorporated. |
| └─ `email` | string | Email address of the beneficiary company. |
| └─ `phoneCountryCode` | string | Phone number country code (e.g., `+84`). |
| └─ `phoneNumber` | string | Phone number |
| └─ `addressCountry` | string | Country of the beneficiary address. |
| └─ `addressZipCode` | string | ZIP/postal code. |
| └─ `addressCity` | string | City of the address. |
| └─ `addressStreet` | string | Street name and number. |
| └─ `addressState` | string | State/province of the address. |
| └─ `addressLocation` | string | Additional address info (e.g., suite, building). |
| └─ `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| └─ `createdBy` | string |  |
| └─ `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| └─ `updatedBy` | string |  |
| `firstName` | string | First name of the contact person or individual beneficiary. |
| `lastName` | string | Last name of the contact person or individual beneficiary. |
| `dob` | string | Date of birth (format: `YYYY-MM-DD`). Applicable for individuals. |
| `email` | string | Email address of the beneficiary. |
| `phoneCountryCode` | string | Phone number country code (e.g., `+84`). |
| `phoneNumber` | string | Phone number. |
| `addressCountry` | string | Country of the beneficiary address. |
| `addressCity` | string | City of the address. |
| `addressState` | string | State/province of the address. |
| `addressZipCode` | string | ZIP/postal code. |
| `addressStreet` | string | Street name and number. |
| `addressLocation` | string | Additional address info (e.g., suite, building). |
| `identificationType` | string | Type of identity document: PASSPORT, NATIONAL_ID, OTHERS |
| `identificationCustomType` | string | Identity custom type |
| `identificationValue` | string | Identity Document Number |
| `description` | string | Free text description or note about the beneficiary. |
| relationship | string | Relationship with the customer |
| accountInfo | object | Account information |
| └─ `accountType` | string | Account type, one of value: BANK, CARD, WALLET, PROXY, CASH |
| └─ `accountNumber` | string | Account number of the beneficiary (may be null or optional for some PSPs). |
| └─ `currency` | string | Transaction currency (e.g., `USD`, `SGD`). |
| └─ `bankName` | string | Beneficiary bank name. |
| └─ `bankCity` | string | Beneficiary bank city. |
| └─ `bankCountry` | string | Beneficiary bank country. |
| └─ `routingCodeType1` | string | Local payment routing system. If supplied, a value for routing_code_value_1 must also be supplied.  <br>Enum: ABA  <br>BSB  <br>BIC_SWIFT  <br>BANK_CODE  <br>BRANCH_CODE  <br>IFSC  <br>IBAN  <br>SORT_CODE |
| └─ `routingCodeValue1` | string | The value for any routing system is specified in routing_code_type_1. If supplied, a value for routing_code_type_1 must also be supplied. |
| └─ `routingCodeType2` | string | Local payment routing system. If supplied, a value for routing_code_value_2 must also be supplied.  <br>Enum: ABA  <br>BSB  <br>BIC_SWIFT  <br>BANK_CODE  <br>BRANCH_CODE  <br>IFSC  <br>IBAN  <br>SORT_CODE |
| └─ `routingCodeValue2` | string | The value for any routing system specified in routing_code_type_2. If supplied, a value for routing_code_type_2 must also be supplied. |
| └─ `routingCodeType3` | string | Local payment routing system. If supplied, a value for routing_code_value_3 must also be supplied.  <br>Enum: ABA  <br>BSB  <br>BIC_SWIFT  <br>BANK_CODE  <br>BRANCH_CODE  <br>IFSC  <br>IBAN  <br>SORT_CODE |
| └─ `routingCodeValue3` | string | The value for any routing system specified in routing_code_type_3. If supplied, a value for routing_code_type_3 must also be supplied. |
| └─ `proxyType` | string | Proxy type for this payout are MOBILE, UEN or NRIC |
| └─ `proxyValue` | string | Proxy values are dependent on proxy type |
| └─ `intermediaryBicSwift` | string | SWIFT BIC associated to the Intermediary Agent |
| └─ `payId` | string | NPP PayID (AU Specific) |
| └─ `payIdType` | string | Mention the type of PayID,It takes values \["EMAIL, PHONE, ORG, ABN"\] |
| └─ `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| └─ `createdBy` | string |  |
| └─ `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| └─ `updatedBy` | string |  |
| `pspBeneficiaries` | array |  |
| └─ `pspId` | string | ID of the PSP |
| └─ `pspBeneficiaryId` | string | ID of beneficiary in PSP |
| └─ `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| └─ `createdBy` | string |  |
| `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| `createdBy` | string |  |
| `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| `updatedBy` | string |  |

400 BAD REQUEST

| **Field** | **Type** |
| --- | --- |
| `type` | string |
| `status` | number |
| `timestamp` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |
| `title` | string |
| `soaCode` | string |
| `fieldErrors` | array |
| └─ `object` | string |
| └─ `field` | string |
| └─ `rejectedValue` | string |
| └─ `message` | string |

401 UNAUTHORIZED

Reference: https://apidoc-v1.maniscloud.com/manis-unified-api-v-1-0/payout-beneficiary/add-existing-beneficiary-to-a-psp

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration:
    post:
      operationId: add-existing-beneficiary-to-a-psp
      summary: Add existing beneficiary to a PSP
      description: >-
        This API is used to register an existing beneficiary on another PSP


        **Request Body**


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `pspId` | string | Yes | Identifier of the payment provider (e.g.,
        `nium`, `finmo`). |


        200 OK


        | Field | Type | Description |

        | --- | --- | --- |

        | `id` | string | Identifier of the beneficiary in manis |

        | `customerId` | string | The Customer Id |

        | `merchantId` | string | merchant id |

        | `type` | string | Beneficiary type: `INDIVIDUAL` or `COMPANY`. |

        | `beneficiaryName` | string | A custom internal name for the
        beneficiary. Must be unique. |

        | `companyInfo` | object | Information about the company beneficiary. |

        | └─ `name` | string | Company name. |

        | └─ `registrationNumber` | string | Company registration number. |

        | └─ `incorporationCountry` | string | Country where the company was
        incorporated. |

        | └─ `email` | string | Email address of the beneficiary company. |

        | └─ `phoneCountryCode` | string | Phone number country code (e.g.,
        `+84`). |

        | └─ `phoneNumber` | string | Phone number |

        | └─ `addressCountry` | string | Country of the beneficiary address. |

        | └─ `addressZipCode` | string | ZIP/postal code. |

        | └─ `addressCity` | string | City of the address. |

        | └─ `addressStreet` | string | Street name and number. |

        | └─ `addressState` | string | State/province of the address. |

        | └─ `addressLocation` | string | Additional address info (e.g., suite,
        building). |

        | └─ `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | └─ `createdBy` | string |  |

        | └─ `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | └─ `updatedBy` | string |  |

        | `firstName` | string | First name of the contact person or individual
        beneficiary. |

        | `lastName` | string | Last name of the contact person or individual
        beneficiary. |

        | `dob` | string | Date of birth (format: `YYYY-MM-DD`). Applicable for
        individuals. |

        | `email` | string | Email address of the beneficiary. |

        | `phoneCountryCode` | string | Phone number country code (e.g., `+84`).
        |

        | `phoneNumber` | string | Phone number. |

        | `addressCountry` | string | Country of the beneficiary address. |

        | `addressCity` | string | City of the address. |

        | `addressState` | string | State/province of the address. |

        | `addressZipCode` | string | ZIP/postal code. |

        | `addressStreet` | string | Street name and number. |

        | `addressLocation` | string | Additional address info (e.g., suite,
        building). |

        | `identificationType` | string | Type of identity document: PASSPORT,
        NATIONAL_ID, OTHERS |

        | `identificationCustomType` | string | Identity custom type |

        | `identificationValue` | string | Identity Document Number |

        | `description` | string | Free text description or note about the
        beneficiary. |

        | relationship | string | Relationship with the customer |

        | accountInfo | object | Account information |

        | └─ `accountType` | string | Account type, one of value: BANK, CARD,
        WALLET, PROXY, CASH |

        | └─ `accountNumber` | string | Account number of the beneficiary (may
        be null or optional for some PSPs). |

        | └─ `currency` | string | Transaction currency (e.g., `USD`, `SGD`). |

        | └─ `bankName` | string | Beneficiary bank name. |

        | └─ `bankCity` | string | Beneficiary bank city. |

        | └─ `bankCountry` | string | Beneficiary bank country. |

        | └─ `routingCodeType1` | string | Local payment routing system. If
        supplied, a value for routing_code_value_1 must also be supplied. 
        <br>Enum: ABA  <br>BSB  <br>BIC_SWIFT  <br>BANK_CODE  <br>BRANCH_CODE 
        <br>IFSC  <br>IBAN  <br>SORT_CODE |

        | └─ `routingCodeValue1` | string | The value for any routing system is
        specified in routing_code_type_1. If supplied, a value for
        routing_code_type_1 must also be supplied. |

        | └─ `routingCodeType2` | string | Local payment routing system. If
        supplied, a value for routing_code_value_2 must also be supplied. 
        <br>Enum: ABA  <br>BSB  <br>BIC_SWIFT  <br>BANK_CODE  <br>BRANCH_CODE 
        <br>IFSC  <br>IBAN  <br>SORT_CODE |

        | └─ `routingCodeValue2` | string | The value for any routing system
        specified in routing_code_type_2. If supplied, a value for
        routing_code_type_2 must also be supplied. |

        | └─ `routingCodeType3` | string | Local payment routing system. If
        supplied, a value for routing_code_value_3 must also be supplied. 
        <br>Enum: ABA  <br>BSB  <br>BIC_SWIFT  <br>BANK_CODE  <br>BRANCH_CODE 
        <br>IFSC  <br>IBAN  <br>SORT_CODE |

        | └─ `routingCodeValue3` | string | The value for any routing system
        specified in routing_code_type_3. If supplied, a value for
        routing_code_type_3 must also be supplied. |

        | └─ `proxyType` | string | Proxy type for this payout are MOBILE, UEN
        or NRIC |

        | └─ `proxyValue` | string | Proxy values are dependent on proxy type |

        | └─ `intermediaryBicSwift` | string | SWIFT BIC associated to the
        Intermediary Agent |

        | └─ `payId` | string | NPP PayID (AU Specific) |

        | └─ `payIdType` | string | Mention the type of PayID,It takes values
        \["EMAIL, PHONE, ORG, ABN"\] |

        | └─ `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | └─ `createdBy` | string |  |

        | └─ `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | └─ `updatedBy` | string |  |

        | `pspBeneficiaries` | array |  |

        | └─ `pspId` | string | ID of the PSP |

        | └─ `pspBeneficiaryId` | string | ID of beneficiary in PSP |

        | └─ `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | └─ `createdBy` | string |  |

        | `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | `createdBy` | string |  |

        | `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | `updatedBy` | string |  |


        400 BAD REQUEST


        | **Field** | **Type** |

        | --- | --- |

        | `type` | string |

        | `status` | number |

        | `timestamp` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |

        | `title` | string |

        | `soaCode` | string |

        | `fieldErrors` | array |

        | └─ `object` | string |

        | └─ `field` | string |

        | └─ `rejectedValue` | string |

        | └─ `message` | string |


        401 UNAUTHORIZED
      tags:
        - subpackage_payoutBeneficiary
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Payout Beneficiary_Add existing
                  beneficiary to a PSP_Response_200
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pspId:
                  type: string
              required:
                - pspId
servers:
  - url: https:/
components:
  schemas:
    ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaPsp:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
      title: >-
        ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaPsp
    ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaAccountInfo:
      type: object
      properties:
        payId:
          type: string
          format: email
        bankName:
          type: string
        currency:
          type: string
        payIdType:
          type: string
        proxyType:
          type: string
        proxyValue:
          type: string
        accountType:
          type: string
        accountNumber:
          type: string
        routingCodeType1:
          type: string
        routingCodeType2:
          type: string
        routingCodeValue1:
          type: string
        routingCodeValue2:
          type: string
        intermediaryBicSwift:
          type: string
      required:
        - payId
        - bankName
        - currency
        - payIdType
        - proxyType
        - proxyValue
        - accountType
        - accountNumber
        - routingCodeType1
        - routingCodeType2
        - routingCodeValue1
        - routingCodeValue2
        - intermediaryBicSwift
      title: >-
        ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaAccountInfo
    ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaPspBeneficiariesItems:
      type: object
      properties:
        pspId:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
          format: uuid
        pspBeneficiaryId:
          type: string
      required:
        - pspId
        - createdAt
        - createdBy
        - pspBeneficiaryId
      title: >-
        ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaPspBeneficiariesItems
    Payout Beneficiary_Add existing beneficiary to a PSP_Response_200:
      type: object
      properties:
        id:
          type: string
          format: uuid
        dob:
          type: string
          format: date
        psp:
          $ref: >-
            #/components/schemas/ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaPsp
        type:
          type: string
        email:
          type: string
          format: email
        lastName:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
          format: uuid
        firstName:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
          format: uuid
        customerId:
          type: string
          format: uuid
        merchantId:
          type: string
          format: uuid
        accountInfo:
          $ref: >-
            #/components/schemas/ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaAccountInfo
        addressCity:
          type: string
        description:
          type: string
        phoneNumber:
          type: string
        addressState:
          type: string
        relationship:
          type: string
        addressStreet:
          type: string
        addressCountry:
          type: string
        addressZipCode:
          type: string
        addressLocation:
          type: string
        beneficiaryName:
          type: string
        phoneCountryCode:
          type: string
        pspBeneficiaries:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1Beneficiaries7BbeneficiaryId7DPspRegistrationPostResponsesContentApplicationJsonSchemaPspBeneficiariesItems
        pspBeneficiaryId:
          type: string
      required:
        - id
        - dob
        - psp
        - type
        - email
        - lastName
        - createdAt
        - createdBy
        - firstName
        - updatedAt
        - updatedBy
        - customerId
        - merchantId
        - accountInfo
        - addressCity
        - description
        - phoneNumber
        - addressState
        - relationship
        - addressStreet
        - addressCountry
        - addressZipCode
        - addressLocation
        - beneficiaryName
        - phoneCountryCode
        - pspBeneficiaries
        - pspBeneficiaryId
      title: Payout Beneficiary_Add existing beneficiary to a PSP_Response_200

```

## SDK Code Examples

```python Payout Beneficiary_Add existing beneficiary to a PSP_example
import requests

url = "https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration"

payload = { "pspId": "{{pspId}}" }
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Payout Beneficiary_Add existing beneficiary to a PSP_example
const url = 'https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"pspId":"{{pspId}}"}'
};

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

```go Payout Beneficiary_Add existing beneficiary to a PSP_example
package main

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

func main() {

	url := "https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration"

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

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

	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 Payout Beneficiary_Add existing beneficiary to a PSP_example
require 'uri'
require 'net/http'

url = URI("https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"pspId\": \"{{pspId}}\"\n}"

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

```java Payout Beneficiary_Add existing beneficiary to a PSP_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration")
  .header("Content-Type", "application/json")
  .body("{\n  \"pspId\": \"{{pspId}}\"\n}")
  .asString();
```

```php Payout Beneficiary_Add existing beneficiary to a PSP_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration', [
  'body' => '{
  "pspId": "{{pspId}}"
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Payout Beneficiary_Add existing beneficiary to a PSP_example
using RestSharp;

var client = new RestClient("https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"pspId\": \"{{pspId}}\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Payout Beneficiary_Add existing beneficiary to a PSP_example
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = ["pspId": "{{pspId}}"] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://https/api/v1/beneficiaries/%7BbeneficiaryId%7D/psp-registration")! 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()
```