curl --request GET \
--url https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "uspay-z2oaq71hlo7fhvck2xw0nidg",
"counterpartyId": "uspay-z2oaq71hlo7fhvck2xw0nidg",
"createdAt": "2026-09-09T20:39:30Z",
"updatedAt": "2026-09-09T20:39:30Z",
"name": "Nimbus Settlement Ltd",
"displayName": "Nimbus Settlement Ltd",
"email": "treasury@nimbus-settlement.com",
"address": {
"addressLine1": "25 Sir John Rogerson's Quay",
"city": "Dublin",
"stateProvince": "County Dublin",
"postalCode": "D02 XY45",
"countryCode": "IE"
},
"relationshipToUser": "THIRD_PARTY",
"type": "BUSINESS"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}Get Beneficiary by ID
Returns the beneficiary details for the authenticated Meridian account.
curl --request GET \
--url https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.va.meridianpay.com/v1/beneficiaries/{beneficiaryId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "uspay-z2oaq71hlo7fhvck2xw0nidg",
"counterpartyId": "uspay-z2oaq71hlo7fhvck2xw0nidg",
"createdAt": "2026-09-09T20:39:30Z",
"updatedAt": "2026-09-09T20:39:30Z",
"name": "Nimbus Settlement Ltd",
"displayName": "Nimbus Settlement Ltd",
"email": "treasury@nimbus-settlement.com",
"address": {
"addressLine1": "25 Sir John Rogerson's Quay",
"city": "Dublin",
"stateProvince": "County Dublin",
"postalCode": "D02 XY45",
"countryCode": "IE"
},
"relationshipToUser": "THIRD_PARTY",
"type": "BUSINESS"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}{
"message": "<string>",
"validationErrors": [
{
"fieldRef": "<string>",
"type": "InvalidFormat",
"message": "<string>"
}
],
"errorCode": "UNAUTHORIZED"
}Authorizations
Bearer token authentication, for client-server calls.
Send the access token issued by POST /v1/auth/token as Authorization: Bearer {token}. The token carries its own program and user context, so the X-Meridian-* headers are not required. See Authentication.
Headers
Server-to-server (HMAC) requests only. Partner API key issued by Meridian during provisioning.
Server-to-server (HMAC) requests only. Current time in milliseconds since the Unix epoch. Must be within 60 seconds of the request.
Server-to-server (HMAC) requests only. Identifies the program context for the request.
Server-to-server (HMAC) requests only. Identifies the Meridian user targeted by the request. Required for MULTI_USER integrations; omit for SINGLE_USER.
Path Parameters
ID of the beneficiary — the id returned by POST /v1/beneficiaries or GET /v1/beneficiaries.
Response
The beneficiary details for the authenticated account
- Person Beneficiary Response
- Business Beneficiary Response
A person beneficiary
Unique identifier of the beneficiary
"uscp-01JMERBENEF001"
Identifier of the underlying counterparty
"uscp-01JMERBENEF001"
Timestamp when the beneficiary was created
"2026-04-30T14:00:00Z"
Timestamp when the beneficiary was last updated
"2026-04-30T14:00:00Z"
Beneficiary type discriminator
PERSON, BUSINESS First name of the beneficiary
Last name of the beneficiary
Date of birth of the beneficiary
Display name of the beneficiary
Email address of the beneficiary
Phone number of the beneficiary
Address of the beneficiary's bank. Required by RouteFusion for non-US bank countries; a missing field is reported as a field-level validation error on submission.
Show child attributes
Show child attributes
Beneficiary's relationship to the account owner
SELF, THIRD_PARTY, null "THIRD_PARTY"